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

Полигон-2

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

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

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

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   LS-486E несколько вопросов
RSS

LS-486E несколько вопросов

<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7
Печать
 
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Кажется разобрался со снижением скорости чтения в WB8. Для режима WB8
требуется дополнительный dirty tag,но на наших платах его нет.
Применяется некая "эмуляция" -> bit always dirty. Из-за этого, поскольку:

If the addressed data does not locate in L2 cache (cache miss) then the access is
forwarded to main memory. When data is return from main memory, L2 cache will also
be updated (cache line fill). However, if the cache line fill operation is to a dirty
line (the Dirty bit associated with cache line is set), the dirty line is first written
back to main memory before the new line is brought into the L2 cache. For a dirty line
write-back operation, the 85C496 first performs a read from the dirty cache line and then
writes the data to main memory.


Вот значения в регистрах Cache Configure, reg 0x42-0x43:

WT8 0x0a69 0000 1010 0110 1001
bit0: External Cache Enable
bit1: Level 2 Cache Test Normal operation
bit2: Level 2 Cache Tag Width Select 8 Bit Tag
bit3: Force Dirty Status as Always Dirty
bit4: Single bank, non-interleave mode
bit7-5: Level 2 Cache Size\t011 = 256 KByte
bit8: Level 2 Cache Write Through Mode

WT7 0x0a6d 0000 1010 0110 1101
bit0: External Cache Enable
bit1: Level 2 Cache Test Normal operation
bit2: Level 2 Cache Tag Width Select 7 Bit Tag
bit3: Force Dirty Status as Always Dirty
bit4: Single bank, non-interleave mode
bit7-5: Level 2 Cache Size\t011 = 256 KByte
bit8: Level 2 Cache Write Through Mode

****************************************************************

WB8 0x0b69 0000 1011 0110 1001
bit0: External Cache Enable
bit1: Level 2 Cache Test Normal operation
bit2: Level 2 Cache Tag Width Select 8 Bit Tag
bit3: Force Dirty Status as Always Dirty
bit4: Single bank, non-interleave mode
bit7-5: Level 2 Cache Size\t011 = 256 KByte
bit8: Level 2 Cache Write Back Mode

WB7 0x0b65 0000 1011 0110 0101
bit0: External Cache Enable
bit1: Level 2 Cache Test Normal operation
bit2: Level 2 Cache Tag Width Select 7 Bit Tag
bit3: Enable Dirty Pin Input
bit4: Single bank, non-interleave mode
bit7-5: Level 2 Cache Size\t011 = 256 KByte
bit8: Level 2 Cache Write Back Mode

********************************************************************


Те при заполнении кеша при чтении (первое чтение за пределами адресов текущих данных
в кеше), контроллер будет считать, что строки отмечены как "dirty", и давать холостой
цикл выгрузки в память (видимо dirty flag повторно (после выгрузки в память) не
контролируется, иначе процесс был бы бесконечным, тк "dirty flag is always set").

Те:
1. Читаем память и обновляем кеш
2. Выгружаем только что записанное в кеш снова в память.

Как раз и получаем ~2-х кратное снижение скорости чтения из памяти.

Если бы dirty tag имелся, такого бы не было, и скорость была-бы такой-же, как
в режиме WB7. Кто-нибудь знает, существуют ли платы на SiS 496/497 с dirty tag?

PS. Появилась идея доработки платы, теоретически возможно, но боюсь будет смотреться
уродливо...
Fasterpast
Advanced Member


Всего сообщений: 582
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
20 окт. 2013
А WB кэш вообще может работать без dirty bit'ов?
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Fasterpast написал:
[q]
А WB кэш вообще может работать без dirty bit'ов?
[/q]
По нормальному - нет. Мы имеем нехитрое (как оказалось) компромисное решение,
сильно снижающее скорость чтения, но поднимающее скорость перемещения данных
в памяти в режиме WB8. Иначе бы нарушилась когерентность памяти и кеша с полным
отказом системы.

Таким образом, для плат без dirty tag при RAM >= 32MB (порог для кеша 256KB),
рекомендую WB7, для RAM >32MB лучше WT8.

Для плат же с dirty tag можно всегда работать в режиме WB7/8.

PS. Если бы чипсет поддерживал Write Allocation, то это решение бы вообще было
бессмысленным, тк снизились бы скорости и записи, и чтения в памяти.
Fasterpast
Advanced Member


Всего сообщений: 582
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
20 окт. 2013
О, сколько нам открытий чудных...
Saffbl4
Member


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


Ссылка


Дата регистрации на форуме:
20 окт. 2016
Ревизия с1, проверить смогу только через пару дней но 2016 год отображается нормально или надо именно установить 2000?
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Saffbl4 написал:
[q]
Ревизия с1, проверить смогу только через пару дней но 2016 год отображается нормально или надо именно установить 2000?
[/q]
Не, тогда все нормально. Спасибо!
<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   LS-486E несколько вопросов
RSS

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

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

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