Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   В чем преимущество EDO памяти над FPM?
RSS

В чем преимущество EDO памяти над FPM?

<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... .. 11 12 13 14 15 16 *
Печать
 
wbcbz7
Full Member


Откуда: omsk || nsk
Всего сообщений: 230
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 фев. 2014
Во-первых, всех с праздниками! :)
Во-вторых, пришло время разобраться, в чем же дело, и почему при "одинаковых" настройках таймингов FPM все же оказывается медленнее EDO. Возьмем даташит от i430TX и проанализируем его. (осторожно, много картинок!)

Итак, i430TX официально поддерживает 6 банков памяти (банк, или в понимании Интела - строка памяти - одна сторона пары SIMMов либо одного DIMMа), при этом для EDO/FPM поддерживается все 6 банков, для SDRAM рекомендуется не более 5 (собственно, на большинстве плат стоят два, максимум - три слота DIMM), поддерживает 4/16/64 Мбит чипы со временем доступа 50, 60 и 70 нс для FPM/EDO и тактовой частотой 60/66 МГц для SDRAM:


К регистрам конфигурации памяти мы вернемся чуть позже, пока посмотрим на таблицу конфигураций банка памяти:

Во-первых, чипсет поддерживает асимметричную организацию SIMM-ов (например, модули на чипах 512k x8, в паре дающие 4 МБ), а также набор стандартных конфигураций - здесь ничего примечательного.
С другой стороны, для SDRAM официально для односторонних (состоящих из одного банка) модулей на 128 МБ завялена лишь конфигурация 16M x4 с организацией [14Rx10C] (и то она не рекомендуется для использования из-за повышенной нагрузки на линии чипсета) но, как мы знаем, чипы 16M x8, производимые по 128 МБит технологии, спокойно работают на TX (и на более поздних i440LX/BX), давая в двухбанковой конфигурации 256 МБ на модуль.
На самом же деле, проблема "уполовинивания" односторонних DIMMов 256МБ на TX/LX/BX связана исключительно с нехваткой адресных линий - такие модули используют организацию [15Rx10C], у TX же линий всего 14 (а вообще, на rom.by есть отличная статья с таблицей совместимости памяти с чипсетами).

В даташите есть и таблица таймингов для различных типов памяти (здесь - FPM/EDO):

Как видим, для 4-х банковой конфигурации при burst-чтении из открытой страницы памяти для EDO доступны тайминги 5-2-2-2, для FPM - всего лишь 5-3-3-3. Для пяти\шести банков ситуация еще печальнее - x333 и x444 соответственно. Однако, обратим внимание на строку Reg 56h, bit 5 (FELO - Fast EDO Leadoff) - у EDO бит установлен в 1, у FPM - сброшен в ноль. В примечании 6 говорится, что установка бита убирает один такт памяти для циклов чтения\записи.
И действительно, включение в BIOS Fast EDO Leadoff для FPM дает некоторый прирост скорости. Но не более того - уровень EDO не достигнут :)

Продолжаем копать дальше. Регистр DRAMT (0x58) содержит настройки для burst-таймингов FPM/EDO:

Вот и причина всех тормозов FPM - для нее чипсет автоматически добавляет один такт задержки для последующих циклов чтения - в итоге, хоть мы и выставили в BIOS Read Burst Timing в x222, для FPM он все равно будет равен x333. TweakBIOS, кстати, показывает оба варианта таймингов через слеш (правда без указания, к какому типу памяти относится конкретный вариант):


Тип памяти для каждого банка выбирается в регистрах DRTH (0x67) и DRTL (0x68):


Установив биты для конкретного банка памяти, можно превратить старую FPM-планку в EDO :) С превращением в SDRAM такой трюк я не советую - наверняка система повиснет.

Узнать, какие из банков памяти сейчас активны, можно из регистров DRB (0x60-0x65):

Каждый из регистров содержит сумму доступной памяти в банках с нулевого до текущего в блоках по 4 МБ. Если разница значений текущего и предыдущего регистра (для нулевого банка - просто значение) равна нулю, то этот банк пуст, иначе получим, собственно, объем этого банка. Кроме того, как видим, BIOS ограничивает объем памяти на уровне 256 мегабайт, но поддержку большего объема памяти вручную мы проверим позже.

Для того, чтобы максимально ускорить FPM-память, нам нужно вначале поставить минимальные тайминги в BIOS/TweakBIOS, затем вручную сменить тип памяти на EDO. Вопрос состоит в том, как же это сделать :)
Под Windows есть программа WPCREDIT, позволяющая редактировать PCI-регистры; для DOS все кажется на первый взгляд сложнее, но на самом деле и здесь проблема решается достаточно просто. В Unix-системах для работы с PCI используется пакет pcitools, для DOS есть нативная сборка утилит, скачать можно, например, отсюда: http://www.rom.by/files/pciutils-3.1.7-DOS.rar. Для lspci еще понадобится база с Vendor/Device ID, скачать можно здесь, затем положить в папку с утилитами.

Запуск lspci без ключей даст нам такую картину:
00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC (rev 01)
00:01.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:01.2 USB controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01)
00:0a.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
00:0b.0 VGA compatible controller: Tseng Labs Inc ET6000 (rev 30)



Добавим ключ -nn, чтобы отображать Vendor/Device ID:
00:00.0 Host bridge [0600]: Intel Corporation 430TX - 82439TX MTXC [8086:7100] (rev 01)
00:01.0 ISA bridge [0601]: Intel Corporation 82371AB/EB/MB PIIX4 ISA [8086:7110] (rev 01)
00:01.1 IDE interface [0101]: Intel Corporation 82371AB/EB/MB PIIX4 IDE [8086:7111] (rev 01)
00:01.2 USB controller [0c03]: Intel Corporation 82371AB/EB/MB PIIX4 USB [8086:7112] (rev 01)
00:01.3 Bridge [0680]: Intel Corporation 82371AB/EB/MB PIIX4 ACPI [8086:7113] (rev 01)
00:0a.0 Ethernet controller [0200]: 3Com Corporation 3c905B 100BaseTX [Cyclone] [10b7:9055] (rev 30)
00:0b.0 VGA compatible controller [0300]: Tseng Labs Inc ET6000 [100c:3208] (rev 30)



Далее нужно сделать дамп конфигурационного пространства PCI для северного моста. Берем ID для Host Bridge и прописываем в ключе -d, и добавим ключ -vvvxxx, чтобы сдампить все регистры и заодно отобразить общую PCI-инфу; для i430TX строка выглядит так:
lspci -d8086:7100 -vvvxxx

, а вывод для ASUS TXP4 и конфигурации из двух 16 МБ односторонних EDO-планок (в тестах - EDO 32MB 60ns) в слотах SIMM3-4:
00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC (rev 01)
\tControl: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
\tStatus: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- >TAbort- >MAbort+ >SERR- >PERR- INTx-
\tLatency: 32
00: 86 80 00 71 06 00 00 22 01 00 00 06 00 20 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80
50: 08 00 81 14 08 00 20 01 51 10 55 77 77 77 77 77
60: 00 00 08 08 08 08 00 84 04 03 00 00 00 00 00 00
70: 20 00 0a 00 0e 00 00 00 23 12 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 20 0f 00 00 00 20 00 00


Как видим, бит 2 в регистре DRBL установлен в 1, бит 6 - в 0, тип памяти в банке - EDO.

продолжение следует...
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
wbcbz7 написал:
[q]
Во-первых, чипсет поддерживает асимметричную организацию SIMM-ов (например, модули на чипах 512k x8, в паре дающие 4 МБ)
[/q]
Это верно. Проверено опытным путём. Как и более ранние чипсеты для Pentium. Чего не скажешь о чипсетах для 486-х.

wbcbz7 написал:
[q]
Как видим, для 4-х банковой конфигурации при burst-чтении из открытой страницы памяти для EDO доступны тайминги 5-2-2-2, для FPM - всего лишь 5-3-3-3.
[/q]
Эта информация приводится во всех статьях того времени о "преимуществах" EDO.

wbcbz7 написал:
[q]
хоть мы и выставили в BIOS Read Burst Timing в x222, для FPM он все равно будет равен x333. TweakBIOS, кстати, показывает оба варианта таймингов через слеш (правда без указания, к какому типу памяти относится конкретный вариант):
[/q]
А вот это любопытно! Емнип многие биосы тоже показывают тайминги таким образом.

Отличное исследование!
Не хотели бы, дополнив его, отправить на конкурс статей 2019 года?
ИМХО, если сможете сделать утилиту, которая будет "разгонять" FPM до EDO на чипсетах интел (хотя бы HX/VX/TX), это будет хорошая заявка на призовое место!
wbcbz7
Full Member


Откуда: omsk || nsk
Всего сообщений: 230
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 фев. 2014
Rio444 написал:
[q]
ИМХО, если сможете сделать утилиту, которая будет "разгонять" FPM до EDO на чипсетах интел (хотя бы HX/VX/TX), это будет хорошая заявка на призовое место!
[/q]
там все делается в одну строчку :biggrin: по поводу конкурса подумаю, но мне кажется, что дотерпеть до марта будет тяжело (хотя дотерпел же до праздников :))

С другой стороны, есть же не только Intel, но и ALi/VIA/SiS, с ними все интереснее; увы, плат на али\сисах у меня ноль :(
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
wbcbz7 написал:
[q]
там все делается в одну строчку
[/q]
Множество полезных утилит состоит из нескольких/десятков строчек. Но это результат сотен перелопаченных страниц даташитов и десятков часов неудачных экспериментов и отладки.

wbcbz7 написал:
[q]
по поводу конкурса подумаю, но мне кажется, что дотерпеть до марта будет тяжело (хотя дотерпел же до праздников
[/q]
Отправлять можно хоть сейчас
Serge написал:
[q]
Сроки подачи работ на конкурс: с 1 декабря 2018 по 1 марта 2019-го года.
[/q]
Публикуются в течение нескольких дней.
То, что Вы делаете - нечто новое, вместо перетирания известных фактов. Что распространено на форуме.
Takedasun
Advanced Member


Откуда: Керчь
Всего сообщений: 798
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 окт. 2013
Материнская плата PCpartner 35-8854-01-01 (i440lx)
CPU - Celeron 500mhz (работает на родной частоте)


Cache/Memory Benchmark
┌──────────────┬──────────────┬──────────────┬──────────────┐
│ Read │ Write │ Move │ Average │
┌───────────────┼──────────────┼──────────────┼──────────────┼──────────────┤
│ Cache Level 1 │ 549.41 MB/s│ 2735.35 MB/s│ 2437.44 MB/s│ 1907.40 MB/s│
│ Cache Level 2 │ 521.28 MB/s│ 960.78 MB/s│ 785.62 MB/s│ 755.89 MB/s│
│ Memory │ 167.60 MB/s│ 205.08 MB/s│ 135.37 MB/s│ 169.35 MB/s│
└───────────────┴──────────────┴──────────────┴──────────────┴──────────────┘

MMX™ Cache/Memory Benchmark
┌──────────────┬──────────────┬──────────────┬──────────────┐
│ MMX Read │ MMX Write │ MMX Move │ Average │
┌───────────────┼──────────────┼──────────────┼──────────────┼──────────────┤
│ Cache Level 1 │ 1433.00 MB/s│ 1433.00 MB/s│ 771.17 MB/s│ 1212.39 MB/s│
│ Cache Level 2 │ 1355.13 MB/s│ 961.74 MB/s│ 745.54 MB/s│ 1020.80 MB/s│
│ Memory │ 497.90 MB/s│ 139.14 MB/s│ 134.59 MB/s│ 257.21 MB/s│
└───────────────┴──────────────┴──────────────┴──────────────┴──────────────┘
───────────────────────────────────────────────────────────────────────────



Похоже, что на данный момент, это самый высокий результат по тесту памяти (SDRAM 66Mhz) среди рассматриваемых здесь материнских плат.
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Takedasun написал:
[q]
Материнская плата PCpartner 35-8854-01-01 (i440lx)
[/q]
Takedasun написал:
[q]
Похоже, что на данный момент, это самый высокий результат по тесту памяти (SDRAM 66Mhz) среди рассматриваемых здесь материнских плат.
[/q]
А при чем здесь это? 440BX наверное ещё быстрее будет.
Takedasun
Advanced Member


Откуда: Керчь
Всего сообщений: 798
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 окт. 2013
Rio444 написал:
[q]
А при чем здесь это?
[/q]
Просто интересно, какой чипсет ближе всего подберется к теоретическому пределу ПСП SDRAM 66Mhz (533 MB/s).


Rio444 написал:
[q]
440BX наверное ещё быстрее будет.
[/q]
Ранее считалось, что на частоте 66Mhz, быстрее будет 440LX.
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Takedasun написал:
[q]
Ранее считалось, что на частоте 66Mhz, быстрее будет 440LX.
[/q]
Так надо их сравнивать "в лоб".
И наверное в новой теме.
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... .. 11 12 13 14 15 16 *
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   В чем преимущество EDO памяти над FPM?
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS