И еще раз о верхней памяти в XT-шках (выше 640кб)

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

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

И еще раз о верхней памяти в XT-шках (выше 640кб)

Сообщение sanders » 11.01.2014,11:22

Я специально не стал присоседиваться к другим темам, потому что считаю этот вопрос интересным и полезным для всех - чтобы он не потерялся в дебрях других тем.
Речь идет о тех материнках, которые имеют на борту 1мб ОЗУ.
Первая часть вопроса такова:
Часть материнок, например, SuperTurbo III, V, тестируя ОЗУ доходят до 640кб и дальше загрузка.
Другая часть, например, Juko, Разные Hundai, тестируя ОЗУ доходят до 1024кб и дальше загрузка.
Так вот, почему такое различие в тестировании памяти? Так задано в биосе - тестировать только до 640кб, либо разная организация памяти свыше 640кб (как ее правильно назвать? просто "верхняя память"?) - и эту память материнка физически не видит?
Вторая часть вопроса.
Если ХТ способна адресовать 1024Мб (верно?), то можно ли как-то использовать хотя бы часть верхнего ОЗУ, не перекрытого картами расширения (ПЗУ, видеопамять и т.д.)? Есть такие программы-драйверы для ХТ? Хотя бы как RAM-диск? Хотя бы 128кб выжать?
Я же правильно понимаю, что те адреса ОЗУ, что перекрываются ПЗУ-шками становятся недоступными? Значит не перекрытые участки должны быть доступны?


DrPass
Advanced Member
Сообщения: 3696
Зарегистрирован: 17.04.2005,13:44
Откуда: Донецк

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

Сообщение DrPass » 11.01.2014,11:41

sanders писал(а):Так вот, почему такое различие в тестировании памяти? Так задано в биосе
Так задано в BIOS'е. После 640К начинается область адресов видеопамяти EGA/VGA. Если на ХТ-материнке больше 640К ОЗУ, там обычно есть какой-то программно-аппаратный кунштюк от производителя, который позволяет обращаться к ОЗУ выше 640К. Например, регистр, который управляет отображением различных страниц памяти в одну область адресов. Родная BIOS материнки о нем знает, и может использовать. Еще есть такая штука, как EMS, которая также нередко была реализована на ХТ, как раз за счет "скрытой" в верхних адресах памяти, или в виде отдельной карты расширения.
Вообще, 640К не абсолютное значение. К примеру, область адресов CGA начинается после 736К, и если их забить ОЗУ, DOS будет прекрасно использовать все 736К совершенно естественным образом.


Вдогонку, ну и естественно, http://ru.wikipedia.org/wiki/Upper_Memory_Area
Let the Force be with you

georgel
Junior Member
Сообщения: 129
Зарегистрирован: 05.03.2010,02:09

Сообщение georgel » 11.01.2014,13:57

Если железо не поддерживает EMS маппинг, то эту памать нельзя никак назвать так как она нестандартная и является придумкой инженеров данной мамке. Например для juko существует драйвер CDISK.SYS, создающий 384К RAM-диск. Кстати я не уверен, что juko bios, тестируя ОЗУ, доходит до 1024К...

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

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

Сообщение sanders » 11.01.2014,14:01

Ага. Кое что понятно.
Кстати, JUKO - доходит до 1024кб, я штук 10 материнок пробовал и ее в том числе.
Прав ли я в том, что если материнка "дошла" до 1024кб, то есть шанс найти драйвер и использовать верхнее ОЗУ.
А если материнка "не перешла" 640кб, тогда и шансов нет?

DrPass
Advanced Member
Сообщения: 3696
Зарегистрирован: 17.04.2005,13:44
Откуда: Донецк

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

Сообщение DrPass » 11.01.2014,14:06

sanders писал(а):Прав ли я в том, что если материнка "дошла" до 1024кб, то есть шанс найти драйвер и использовать верхнее ОЗУ.
А если материнка "не перешла" 640кб, тогда и шансов нет?
Нет. Если BIOS проверяет память до 1024Кб, это говорит лишь о том, что в BIOS'е реализована проверка памяти до 1024 Кб :) А уж как там организован доступ к этой памяти, и что с ним можно делать, от этой проверки никак не зависит.
Let the Force be with you

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

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

Сообщение sanders » 11.01.2014,14:33

Тогда вернусь ко 2му вопросу: есть ли универсальная утилита для XT, подходящая хотя бы для большинства материнок? Иначе как узнать к конкретной материнке что именно искать и искать ли вообще?
За ссылку для JUKO - спасибо, а как узнавать такие утилитки для других материнок?
Может есть база данных, собранная пользователями?

georgel
Junior Member
Сообщения: 129
Зарегистрирован: 05.03.2010,02:09

Сообщение georgel » 11.01.2014,15:10

Нет универсальной утилиты.

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

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

Сообщение sanders » 11.01.2014,16:55

Ну а JUK-ин драйвер CDISK.SYS может работать на других материнках или он проверяет в биосе какие-то контрольные метки? Ведь не может быть 100 разных организаций памяти? Скорее всего несколько, а остальные схожие с ними. Нет?

DrPass
Advanced Member
Сообщения: 3696
Зарегистрирован: 17.04.2005,13:44
Откуда: Донецк

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

Сообщение DrPass » 11.01.2014,17:11

sanders писал(а):Ведь не может быть 100 разных организаций памяти? Скорее всего несколько, а остальные схожие с ними. Нет?
Попробовать можно, но... какая вероятность того, что разные производители материнок для управления маппингом верхнего ОЗУ из девятисот свободных портов на ХТ выберут одинаковые, и набор команд для управления через этот порт совпадет?
Есть только один стандарт в этом плане - это EMS. Если материнка обращается с верхней памятью как с EMS, то будет работать и поддерживающий ее софт, и драйвера виртуальных дисков в EMS. Таких материнок, кстати, было достаточно много.
Let the Force be with you

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

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

Сообщение sanders » 11.01.2014,17:26

Тогда дайте ссылки на другие драйверы EMS для XT?
Их надо просто в Config.sys прописывать и потом смотреть видимый результат?

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

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

Сообщение alecv » 11.01.2014,17:28

sanders JUKO и другие "чипсетные" мамки XT, типа Faraday, C&T или Acer имеют поддержку памяти в чипсете, поэтому у них специальный "чипсетный" BIOS. Например Acer/UMC поддерживают до 2.5 мегабайт памяти. НО! Естественно с различными механизмами мэппинга, например EMS, UMB или какой-нибудь вообще специальный типа JUKO. Поэтому их нельзя рассматривать как "общий случай".

Процессор i8086 способен адресовать 1Mb памяти, он работает только в реальном режиме и у него всего 20 адресных линий.
Но большинство XT-шных "не-чипсетных" BIOS-ов во время POST детектирует память только до 640К и на этом принудительно останавливаются.Это значение передается DOS при загрузке.

Далее при загрузке DOS уже ставятся драйвера, которые могут дополнительно нарезать EMS или UMB память. Посмотреть что получилось можно с помощью утилиты mem (начиная с DOS 5) она показывает память по классам.

Насколько знаю, у JUKO (V-Tech) обращение к памяти больше 640 какое-то своё и она не видится ни как UMB ни как EMS.



sanders Вот большая коллекция EMS драйверов и всяких утилит управления памятью от разных мамок и карт.
http://wiki.sensi.org/download/ems_coll.arj

Мы в свое время выпускали клон BOCARAM XT карты EMS
http://museum.ttrk.ee/th99/i/A-B/50192.htm
и писали для нее драйвер (есть в исходниках в BOCARAM/OTHER).

У BOCARAM управление очень похоже на чипсет 82с100, но не полностью идентично.
Стр. 43
http://wiki.sensi.org/download/82c100.pdf


Ответить