Помогите понять, как работает плата расширения памяти?
Помогите понять, как работает плата расширения памяти?
Есть у меня плата 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Мб, а в таблице приведены значения намного превышающие эту цифру.
Растолкуйте? Мне кажется, если я пойму ту таблицу, то разберусь со своей картой.
Мануала нет, и это первый вопрос - не могу разобраться с ней.
У нее 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Мб, а в таблице приведены значения намного превышающие эту цифру.
Растолкуйте? Мне кажется, если я пойму ту таблицу, то разберусь со своей картой.
Start == сколько ВСЕГО ram отсчитает комп при старте
Base == сколько базовой нижней памяти имеется в компе. Тот-ж амстрад имеется и в варианте 512К, и в варианте 640К.
EXT == сколько памяти возьмётся из чипов на карточке, этот объём всегда меньше формулы "ёмкость чипа*кол-во чипов", ибо вычитается из него первый мегабайт RAM.
Логика такова:
1) Нельзя подменять собой базовую память компа, что распаяна на мамке - 98% мамок такого не позволят. Отсюда "вычитаем" первые 512/640
2) Обращение "за пределы мегабайта" реализовано оконным методом, т.е в пределах верхних 384К нужно "прорубить окно в европу" и чрез него глазеть на просторы адресного пространства карточки. Добавить сюда всякие OS-TSR и верхние 384К тоже нужно исключать из объёма чипов карточки.
Остальное - нюансы: "куда и насколько можно залезть, чтоб не получить по-носу". Т.е. тонкая перекройка верхних 384К.
PS. На ХТ машинах верхние 384К тоже распаивались, не на всех, да, но такие экземпляры имеются. С ними та рам-карточка может и не заработать - похоже она рассчитана самостоятельно формировать верхние 384К и уже потом их перекраивать, в т.ч. и средствами ОС.
Base == сколько базовой нижней памяти имеется в компе. Тот-ж амстрад имеется и в варианте 512К, и в варианте 640К.
EXT == сколько памяти возьмётся из чипов на карточке, этот объём всегда меньше формулы "ёмкость чипа*кол-во чипов", ибо вычитается из него первый мегабайт RAM.
Логика такова:
1) Нельзя подменять собой базовую память компа, что распаяна на мамке - 98% мамок такого не позволят. Отсюда "вычитаем" первые 512/640
2) Обращение "за пределы мегабайта" реализовано оконным методом, т.е в пределах верхних 384К нужно "прорубить окно в европу" и чрез него глазеть на просторы адресного пространства карточки. Добавить сюда всякие OS-TSR и верхние 384К тоже нужно исключать из объёма чипов карточки.
Остальное - нюансы: "куда и насколько можно залезть, чтоб не получить по-носу". Т.е. тонкая перекройка верхних 384К.
PS. На ХТ машинах верхние 384К тоже распаивались, не на всех, да, но такие экземпляры имеются. С ними та рам-карточка может и не заработать - похоже она рассчитана самостоятельно формировать верхние 384К и уже потом их перекраивать, в т.ч. и средствами ОС.
То есть, если у меня на 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
Первая не стыковка: Нафига столько комбинаций джамперов? Я понимаю, предусмотреть старт с 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
- Откуда: Енакиево
- Контактная информация:
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, да канул в Лету.
Возможно, 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, да канул в Лету.
Да, для карточки PE-520 так и будет. На мамке нужно осталять не более 640К, остальное - с карточки.sanders писал(а):То есть, если у меня на 286 материнке 2Мб DIPP-ами набрано, то я не смогу такой карточкой расширить ОЗУ до 4Мб? Получу максимум 2560Мб, т.е. 1,5Мб на карточке перекроют 1.5Мб памяти на материнке
Не понятно, об которой карточке речь. Если об PE-520, то на ей ВСЕГО-то 8 переключателей.sanders писал(а):Нафига столько комбинаций джамперов? ... А там их 11, даже если 4 не используется.
Если об которой иной карте - то на неё и нужно зрить доку, ибо назначение джамперов совершенно иное. Т.е. дока на PE-520 поможет лишь с логикой работы похожих карточек, а не с раскладкой памяти и её настройкой под твои нужды.
Это маркетинговая фича: "наша карточка способна держать ДО NN гиг памяти", как-то так. Однако, физически она ограничена 4-мя метрами, выше - не прыгнешь. Видимо, изначально был инженерный расчёт на поддержку будущих ёмких чипов памяти, с возможным изменением ревизии (читай - топологии текстолита) платы. Логика остаётся неизменной, меняется лишь RAM-поляна. Уважуха тем инженерам! (По-аглицки - Respect 2 engineers.) Однако, сим планам не суждено было сбыться: убийцами таких карточек стали обычные SIMM модули, ёмкие и занимающие на порядок меньше места в компе.sanders писал(а):по ссылке карта памяти рассчитана на 4Мб, а как тогда берутся значение 7, 11, 12Мб.... Т.е. после 512или 640кб, распаянных на материнке, будет "дырка" в адресах, а потом с адреса, указанного в графе START пойдет память на карточке? И, снова-таки, зачем тогда такая мелкая градация в 512кб. Какой смысл начинать эту доп.память с каких-то 9728кб (например), если можно с 8Мб, 12Мб, т.е. там где закончится ОЗУ, набранное симами на материнке?
UPD.
Пример с PE-520 на самом деле - не совсем удачный. Есть и иные RAM-карточки, даже допускающие установку сразу нескольких их в один комп. У таких карточек нет жёсткой привязки ни к начальному адресу памяти, ни к объёму базовой памяти компа. Да, их можно выставить и со 2-го метра, и с 6-го, и с 10-го... (предполагаю, что на борту карточек ровно 4 метра памяти, хотя могут быть и все 16) Т.е., описываю случай установки 3-х карточек в один комп. Главное, чтобы адресное пространство процессора не имело дыр.
Джамперами на тех карточках как-раз и задаётся как начальный адрес памяти карточки, так и её объём. + тип чипов, если это имеет значение.
Ага.
Уже лучше.
Действительно большинство карт позволяют устанавливать их неск. штук.
Поэтому на моей карте есть переключатель номера карты.
Тогда память можно суммировать от нескольких карточек, и вот теперь я понял, зачем нужна возможность получать окна памяти с разным начальным адресом. Хотя теперь не понял, зачем тогда адрес карточки? Задал на первой джамперами, что она с ХХХХХ, на второй, что она с YYYYY и т.д. И комп всю эту память подряд нашел.
А вот никто не ответил на мой вопрос - можно ли, чтобы память шла не подряд, а через пустой промежуток? И как тогда компу сообщить, что где-то там дальше будет еще кусок памяти? Какие-то спец.драйверы, которые отлавливают обращения к адресам памяти и транспонируют адреса?
Uav1606, спасибо большое. А я ни гуглом, ни Яндексом ничего вообще не мог найти.
Блок переключателей из 4штук справа, если аналогия с ревизией N существует, он задает адрес карты.
Блок из двух джамперов внизу - если их сдвинуть в любое иное положение, карта перестает работать (видеться).
А из приведенной мной наугад карты PE-520 я узнал, что может быть джампер, задающий тип памяти: 1х1000 или 1х256. И возможно, на моей карте он тоже есть, и возможно в 11-джамперной группе.
Уже лучше.
Действительно большинство карт позволяют устанавливать их неск. штук.
Поэтому на моей карте есть переключатель номера карты.
Тогда память можно суммировать от нескольких карточек, и вот теперь я понял, зачем нужна возможность получать окна памяти с разным начальным адресом. Хотя теперь не понял, зачем тогда адрес карточки? Задал на первой джамперами, что она с ХХХХХ, на второй, что она с YYYYY и т.д. И комп всю эту память подряд нашел.
А вот никто не ответил на мой вопрос - можно ли, чтобы память шла не подряд, а через пустой промежуток? И как тогда компу сообщить, что где-то там дальше будет еще кусок памяти? Какие-то спец.драйверы, которые отлавливают обращения к адресам памяти и транспонируют адреса?
Uav1606, спасибо большое. А я ни гуглом, ни Яндексом ничего вообще не мог найти.
Блок переключателей из 4штук справа, если аналогия с ревизией N существует, он задает адрес карты.
Блок из двух джамперов внизу - если их сдвинуть в любое иное положение, карта перестает работать (видеться).
А из приведенной мной наугад карты PE-520 я узнал, что может быть джампер, задающий тип памяти: 1х1000 или 1х256. И возможно, на моей карте он тоже есть, и возможно в 11-джамперной группе.
За надой: процу нуна знать, где напаяны чипы! (почти поговоркаsanders писал(а):Хотя теперь не понял, зачем тогда адрес карточки? Задал на первой джамперами, что она с ХХХХХ, на второй, что она с YYYYY и т.д. И комп всю эту память подряд нашел.

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

PPS. Обрати внимание: эта "длинносияющая" карта рассчитана работать по шине РC-104, хоть нужные разъёмы и не распаяны. Т.е. вариант промышленного контроллера/ПК предусмотрен.
Помогите понять, как работает плата расширения памяти?
Разжился аналогичной LCS-8661 REV:B2 и теперь чешу репу, а получится ли что-то с ней сделать. :o)
За 5 лет ничего не изменилось и не нашлось, я так понимаю?
В плане драйверов итд.
На Вогонсах щас нашёл вот такую тему, насколько я могу понять своим скромным знанием английского, там обещают что каким-то макаром можно протестировать и юзать совершенно любые подобные карточки без всяких дров и документаций.
https://www.vogons.org/viewtopic.php?f=46&t=62298
Понятно что "ну во первых это красиво", так что о покупке не жалею. Но вдруг у кого-то за 5 лет появились идеи)
Буду признателен
За 5 лет ничего не изменилось и не нашлось, я так понимаю?
В плане драйверов итд.
На Вогонсах щас нашёл вот такую тему, насколько я могу понять своим скромным знанием английского, там обещают что каким-то макаром можно протестировать и юзать совершенно любые подобные карточки без всяких дров и документаций.
https://www.vogons.org/viewtopic.php?f=46&t=62298
Понятно что "ну во первых это красиво", так что о покупке не жалею. Но вдруг у кого-то за 5 лет появились идеи)
Буду признателен
Помогите понять, как работает плата расширения памяти?
Краткий перевод темы - щелкаем переключатели, смотрим через Extended Memory Tester где появилась память и подбираем нужную комбинацию. Как получится непрерывно с основной - должно все заработать через himem.