Помогите понять, как работает плата расширения памяти?

Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
Ответить
sanders
Advanced Member
Сообщения: 7088
Зарегистрирован: 26.03.2008,14:47
Откуда: Санкт-Петербург

Вклад в сообщество

Помогите понять, как работает плата расширения памяти?

Сообщение sanders » 04.11.2014,21:25

Есть у меня плата ISA LongShine LCS-8661 REV:B2, т.е. не N (это важно: у меня еще на DIPP-ах, а Rev.N везде описана и она на симах).
Мануала нет, и это первый вопрос - не могу разобраться с ней.
У нее 4 банка по 18 микрух 1х256, т.е. каждый банк по 512кб.
Есть группа джамперов из 11 штук. И я полагал, что они задают базовый адрес, с которого карта подключает свою память.
Т.е. я полагал, что если на карте 2Мб, а на материнке симами установлен 1Мб, то я получу в сумме 3Мб. Если на материнке 2Мб, то я получу 4Мб. Главное правильно подергать джамперы.
Но, как я их не дергал, память не особо добавляется, скорее перекрывается. Максимальный эффект я получил, когда на материнке стояло 512кб симами и вот эта карта. Если же на материнке 2Мб симами, то я получаю лишь 2560кб общей памяти.
И тогда я полез в TH-99, и стал читать другие карты - что они могут.
И вот у другой карты: http://artofhacking.com/th99/i/U-Z/50495.htm я увидел таблицу, которую не понял. Что такое Base и что такое Start? Значит ли это, что карта может подключать свою память не сразу после основного ОЗУ (симы на материнке), а через некоторый промежуток (дырку в адресации)? Если да, тогда я понимаю, почему подсчет ОЗУ при включении компа не захватывает 2Мб памяти на карте: подсчет до них не доходит, но где-то вверху эта память есть, просто о ней компьютер не знает. Но таблица по моей ссылке все равно не понятна. Там описана карта с максимум 4Мб, а в таблице приведены значения намного превышающие эту цифру.
Растолкуйте? Мне кажется, если я пойму ту таблицу, то разберусь со своей картой.

Аватара пользователя
alecv
Advanced Member
Сообщения: 6073
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Сообщение alecv » 04.11.2014,22:47

sanders Base - это вероятно сколько "Базовой" памяти, то есть сколько припаяно на мамке. Возможен вариант, когда базовой 512 или менее, а карточка стартует с мегабайта.

Гость

Сообщение Гость » 05.11.2014,11:59

Start == сколько ВСЕГО ram отсчитает комп при старте
Base == сколько базовой нижней памяти имеется в компе. Тот-ж амстрад имеется и в варианте 512К, и в варианте 640К.
EXT == сколько памяти возьмётся из чипов на карточке, этот объём всегда меньше формулы "ёмкость чипа*кол-во чипов", ибо вычитается из него первый мегабайт RAM.
Логика такова:
1) Нельзя подменять собой базовую память компа, что распаяна на мамке - 98% мамок такого не позволят. Отсюда "вычитаем" первые 512/640
2) Обращение "за пределы мегабайта" реализовано оконным методом, т.е в пределах верхних 384К нужно "прорубить окно в европу" и чрез него глазеть на просторы адресного пространства карточки. Добавить сюда всякие OS-TSR и верхние 384К тоже нужно исключать из объёма чипов карточки.

Остальное - нюансы: "куда и насколько можно залезть, чтоб не получить по-носу". Т.е. тонкая перекройка верхних 384К.

PS. На ХТ машинах верхние 384К тоже распаивались, не на всех, да, но такие экземпляры имеются. С ними та рам-карточка может и не заработать - похоже она рассчитана самостоятельно формировать верхние 384К и уже потом их перекраивать, в т.ч. и средствами ОС.

sanders
Advanced Member
Сообщения: 7088
Зарегистрирован: 26.03.2008,14:47
Откуда: Санкт-Петербург

Вклад в сообщество

Сообщение sanders » 05.11.2014,13:13

То есть, если у меня на 286 материнке 2Мб DIPP-ами набрано, то я не смогу такой карточкой расширить ОЗУ до 4Мб? Получу максимум 2560Мб, т.е. 1,5Мб на карточке перекроют 1.5Мб памяти на материнке, и сверх этого останется лишь 512кб. Или все-таки, это обилие комбинаций рассчитано именно на то, чтобы продолжить непрерывную адресацию с того адреса, где кончилось ОЗУ материнской платы, в том числе ОЗУ свяше 1Мб?
Первая не стыковка: Нафига столько комбинаций джамперов? Я понимаю, предусмотреть старт с 256, с 512, 640, 768, ну еще 384кб, да и все пожалуй. А дальше через 1-2Мб шагать. А там их 11, даже если 4 не используется.
Вторая не стыковка: по ссылке карта памяти рассчитана на 4Мб, а как тогда берутся значение 7, 11, 12Мб.... Т.е. после 512или 640кб, распаянных на материнке, будет "дырка" в адресах, а потом с адреса, указанного в графе START пойдет память на карточке? И, снова-таки, зачем тогда такая мелкая градация в 512кб. Какой смысл начинать эту доп.память с каких-то 9728кб (например), если можно с 8Мб, 12Мб, т.е. там где закончится ОЗУ, набранное симами на материнке?
В ХТ она совсем не заработала. Ей, видимо, нужно 16-битное расширение ISA

Аватара пользователя
uav1606
Advanced Member
Сообщения: 4701
Зарегистрирован: 16.01.2008,22:04
Откуда: Енакиево
Контактная информация:

Вклад в сообщество

Сообщение uav1606 » 05.11.2014,22:18

sanders, я могу только сказать, что для той карты с TH99 получается, что колонка Start = Base + Ext.
Возможно, Start - это весь объём памяти, Base - сколько Вы хотите откусить под базовую, а Ext - под расширенную?..

Вообще, мне кажется, что эта PE-520 к Вашей карте никакого отношения не имеет.
Вот тут есть сообщение на Usenet:
http://www.megalextoria.com/usenet-arch ... 33586.html
Я так понял, что на карте LCS-8661 память можно использовать и как extended, и как expanded (EMS), плюс там ещё есть что-то для управления проверкой чётности, т.е. там, вероятно, назначение джамперов вообще другое (не как у PE-520). Т.е. надо искать описание...

P.S.
Кстати, вот здесь нашёл фотку этой платы (как раз Rev. B):
http://www.symphoniae.com/misc/VC/LONGSHINE_l.jpg
Там вроде есть ещё блок переключателей (4 штуки) и ещё блок из двух джамперов...

P.P.S.
Нашёл какие-то утилиты для этой карты:
http://manual.longshine.de/5_Old_Produc ... 61N210.EXE
Правда, это для версии N. А вот с документацией беда... :-( Был такой файл 8661doc.exe, да канул в Лету.

Гость

Сообщение Гость » 06.11.2014,08:59

sanders писал(а):То есть, если у меня на 286 материнке 2Мб DIPP-ами набрано, то я не смогу такой карточкой расширить ОЗУ до 4Мб? Получу максимум 2560Мб, т.е. 1,5Мб на карточке перекроют 1.5Мб памяти на материнке
Да, для карточки PE-520 так и будет. На мамке нужно осталять не более 640К, остальное - с карточки.
sanders писал(а):Нафига столько комбинаций джамперов? ... А там их 11, даже если 4 не используется.
Не понятно, об которой карточке речь. Если об PE-520, то на ей ВСЕГО-то 8 переключателей.
Если об которой иной карте - то на неё и нужно зрить доку, ибо назначение джамперов совершенно иное. Т.е. дока на PE-520 поможет лишь с логикой работы похожих карточек, а не с раскладкой памяти и её настройкой под твои нужды.
sanders писал(а):по ссылке карта памяти рассчитана на 4Мб, а как тогда берутся значение 7, 11, 12Мб.... Т.е. после 512или 640кб, распаянных на материнке, будет "дырка" в адресах, а потом с адреса, указанного в графе START пойдет память на карточке? И, снова-таки, зачем тогда такая мелкая градация в 512кб. Какой смысл начинать эту доп.память с каких-то 9728кб (например), если можно с 8Мб, 12Мб, т.е. там где закончится ОЗУ, набранное симами на материнке?
Это маркетинговая фича: "наша карточка способна держать ДО NN гиг памяти", как-то так. Однако, физически она ограничена 4-мя метрами, выше - не прыгнешь. Видимо, изначально был инженерный расчёт на поддержку будущих ёмких чипов памяти, с возможным изменением ревизии (читай - топологии текстолита) платы. Логика остаётся неизменной, меняется лишь RAM-поляна. Уважуха тем инженерам! (По-аглицки - Respect 2 engineers.) Однако, сим планам не суждено было сбыться: убийцами таких карточек стали обычные SIMM модули, ёмкие и занимающие на порядок меньше места в компе.

UPD.
Пример с PE-520 на самом деле - не совсем удачный. Есть и иные RAM-карточки, даже допускающие установку сразу нескольких их в один комп. У таких карточек нет жёсткой привязки ни к начальному адресу памяти, ни к объёму базовой памяти компа. Да, их можно выставить и со 2-го метра, и с 6-го, и с 10-го... (предполагаю, что на борту карточек ровно 4 метра памяти, хотя могут быть и все 16) Т.е., описываю случай установки 3-х карточек в один комп. Главное, чтобы адресное пространство процессора не имело дыр.
Джамперами на тех карточках как-раз и задаётся как начальный адрес памяти карточки, так и её объём. + тип чипов, если это имеет значение.

sanders
Advanced Member
Сообщения: 7088
Зарегистрирован: 26.03.2008,14:47
Откуда: Санкт-Петербург

Вклад в сообщество

Сообщение sanders » 06.11.2014,15:23

Ага.
Уже лучше.
Действительно большинство карт позволяют устанавливать их неск. штук.
Поэтому на моей карте есть переключатель номера карты.
Тогда память можно суммировать от нескольких карточек, и вот теперь я понял, зачем нужна возможность получать окна памяти с разным начальным адресом. Хотя теперь не понял, зачем тогда адрес карточки? Задал на первой джамперами, что она с ХХХХХ, на второй, что она с YYYYY и т.д. И комп всю эту память подряд нашел.
А вот никто не ответил на мой вопрос - можно ли, чтобы память шла не подряд, а через пустой промежуток? И как тогда компу сообщить, что где-то там дальше будет еще кусок памяти? Какие-то спец.драйверы, которые отлавливают обращения к адресам памяти и транспонируют адреса?
Uav1606, спасибо большое. А я ни гуглом, ни Яндексом ничего вообще не мог найти.
Блок переключателей из 4штук справа, если аналогия с ревизией N существует, он задает адрес карты.
Блок из двух джамперов внизу - если их сдвинуть в любое иное положение, карта перестает работать (видеться).
А из приведенной мной наугад карты PE-520 я узнал, что может быть джампер, задающий тип памяти: 1х1000 или 1х256. И возможно, на моей карте он тоже есть, и возможно в 11-джамперной группе.

Аватара пользователя
alecv
Advanced Member
Сообщения: 6073
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Сообщение alecv » 06.11.2014,15:37

sanders писал(а):А вот никто не ответил на мой вопрос - можно ли, чтобы память шла не подряд, а через пустой промежуток?
Выше мегабайта - нет. Единственное исключение - "дырка" между 15 и 16Mb на EISA.

Гость

Сообщение Гость » 06.11.2014,17:49

sanders писал(а):Хотя теперь не понял, зачем тогда адрес карточки? Задал на первой джамперами, что она с ХХХХХ, на второй, что она с YYYYY и т.д. И комп всю эту память подряд нашел.
За надой: процу нуна знать, где напаяны чипы! (почти поговорка :) )
Изначально, ни биос, ни проц НЕ ЗНАЮТ ничего об такой RAM-карточке. Если на неё напаять чип биоса с кусочком опт-ром внутре (в твоём случае это чип программируемой логики) - тогда мамкин биос её увидит и сможет как-то опознать. Однако, этот кусочек памяти (сколь-бы малым ни был) занимает часть верхних 384К мамкиной памяти. Плюс к тому, если общение с карточкой реализовано "через форточку 32Кб", то и это оконце памяти повисает в пределах тех-же 384К (а на ХТ..286 другого выбора-то и нет). Получается, каждая карточка занимает минимум 8+32 килобайта памяти. Довольно много для нескольких карточек - для os+tsr мало-что остаётся.
Зато на самой карточке должна быть куча джампов:
1) задать базовый адрес "ром"-а карточки, как вариант - базовый адрес порта, по коему обратиться к карточке.
2) задать границу начала поляны RAM
3) задать ёмкость карточки
4) задать режим работы: оконный, линейный, иной-какой...
sanders писал(а):А вот никто не ответил на мой вопрос - можно ли, чтобы память шла не подряд, а через пустой промежуток? И как тогда компу сообщить, что где-то там дальше будет еще кусок памяти? Какие-то спец.драйверы, которые отлавливают обращения к адресам памяти и транспонируют адреса?
Нет, такое не практикуется. Неважно, пользуешь ты память или нет, обеспечь ОДИН НЕПРЕРЫВНЫЙ кусок памяти (линейный массив ячеек) от 0 и до MAX ёмкости. Никаких "дыр", никаких "внахлёст" накладок.

Помянутая на злобу дня "дыра 15-16М" на самом деле не существует. Вообще. Подразумевается, что у тя есть некая железяка, на коей распаян ровно метр памяти и этот метр как раз мапится в основную память, начиная с границы 15М. Т.е., фактически, в компе теперь 17++ метров памяти: 0..15 + 15..16 + 16..17(в общем случае, 16..NN). Именно для этого и нужна "дыра 15-16", ибо без неё та железяка принципиально не работает. Таких железяк немного, они редки и непрактичны, посему в биосах "дыру" нужно включать вручную. По-умолчанию она неактивна и проц видит все 16++ метров непрерывно.

PS. Проц сам работает с памятью, аппаратно. Нафига эмулировать это программно, да ещё и на том-ж самом проце? Мазохизм крепчал, или тормоза шибко нравятся, как механизЬм? :( Эт только в современности можно эмулировать 8086 на i7, ибо не всегда аутентичное железо можно достать/использовать. А в то время-та, в эпоху 286-х, +- ...

PPS. Обрати внимание: эта "длинносияющая" карта рассчитана работать по шине РC-104, хоть нужные разъёмы и не распаяны. Т.е. вариант промышленного контроллера/ПК предусмотрен.

visualer
Newbie
Сообщения: 61
Зарегистрирован: 26.09.2019,17:50
Откуда: Первоуральск

Помогите понять, как работает плата расширения памяти?

Сообщение visualer » 13.11.2019,09:25

Разжился аналогичной LCS-8661 REV:B2 и теперь чешу репу, а получится ли что-то с ней сделать. :o)
За 5 лет ничего не изменилось и не нашлось, я так понимаю?
В плане драйверов итд.

На Вогонсах щас нашёл вот такую тему, насколько я могу понять своим скромным знанием английского, там обещают что каким-то макаром можно протестировать и юзать совершенно любые подобные карточки без всяких дров и документаций.
https://www.vogons.org/viewtopic.php?f=46&t=62298

Понятно что "ну во первых это красиво", так что о покупке не жалею. Но вдруг у кого-то за 5 лет появились идеи)
Буду признателен

Jager
Member
Сообщения: 172
Зарегистрирован: 10.11.2018,21:27

Помогите понять, как работает плата расширения памяти?

Сообщение Jager » 13.11.2019,09:45

Краткий перевод темы - щелкаем переключатели, смотрим через Extended Memory Tester где появилась память и подбираем нужную комбинацию. Как получится непрерывно с основной - должно все заработать через himem.

Ответить