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

Полигон-2

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

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

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

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

По какому правилу устанавливается емкость TAG SRAM?

<<Назад  Вперед>> Страницы: 1 2
Печать
 
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Добрый день всем.
Вроде не поднималась такая тема.
Как правильно выбрать емкость микросхемы TAG по отношению к объему кэша? Проще всего в 486 с 256КБ 8ю микросхемами. Тогда 9я ставится такая же. Если микросхем 4, т.е. они 512кбит-ные, то tag все равно 256кбит. Из этого я сделал вывод, что микросхема tag - это как 9й бит четности. Т.е. сколько БАЙТ в кэше, столько БИТ в tag-е.
Но вдруг это правило перестало работать, когда я стал разбираться с 386DX. В более новых обычно 4 микросхемы кэша по 256кбит, т.е. 128КБайт, однако tag стоит тоже 256кбит. Почему?
И, наконец, мне попалась 386SX с кэшем, там 64кбит микрухи 2 штуки, т.е. кэш всего 16КБайт, а tag снова из такой же микрухи - 64кбит.
Проще всего предположить, что в последних двух случаях имеет место некая экономия при унификации - напихать одни и те же микросхемы проще, зарядив их все в робота, чем в тому же роботу брать из соседнего лотка другой тип микросхем. Но при массовом производстве экономия даже на разнице емкости 64-256кбит составит приличные деньги. Значит, имеет место не унификация.
Тогда - более сложное правило. Какое?
Fasterpast
Advanced Member


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


Ссылка


Дата регистрации на форуме:
20 окт. 2013
В тэге хранится адрес в оперативе, данные из которого лежат в каждой линии кеша. Насколько я понимаю, да, проще установить ту же микросхему, и всё, и её хватает с запасом в каких-то случаях.
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
На эту тему я могу говорить долго, даже статью собирался писать, но пока руки не
дошли - и еще много нюансов невыясненных.

Коротко - для обычного direct-mapped cache
Коротко (из книги М.Гука) .

Память тегов должна иметь количество ячеек(неважно байтов или 10-bit слов итп) равное
количеству строк кеша. Количество строк кеша равно его объему/размер строки кеша.

Размер строки кеша (для 486 и Pentium) обычно совпадант с объемом данных, передаваемых
за один пакетный цикл - для 486 это 16bytes, для Pentium 32bytes.

Те для кеша 256KB в Pentium - tag нужен 256/32=8KB (больше можно ставить конечно)

А вот размер кешируемой памяти определяется объемом кеша и разрядностью памяти тегов.
Для 8bit tag и cache 256KB:
2^8 * 256KB = 64MB

Для режима WB tag фактически на один бит меньше, тк он идет на dirty (есть еще идиотский
режим WB without dirty)
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
i8088 написал:
[q]
На эту тему я могу говорить долго, даже статью собирался писать..
[/q]
Пишите! :thumbup:
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Сначала я не осилил. Потом я вспомнил, что по диплому я системный аналитик, да еще и АСУ ТэПээРВэ. Но это зря, кстати, тоже не помогло. А вот потом я выпил пива, достал калькулятор и стал считать и понял ответ i8088! Но появились еще вопросы:
1. 486. Традиционный кэш 256КБ Делим на 16. Получаем 16КБ. Т.е. 128кбит. Так почему же микросхема tag всегда стоит 256кбит, т.е. идентичная кэшу?. Я единственный раз встретил на материнке 486 tag 128кбит и подарил владельцу микруху 256кбит для ее замены.
2. 386DX. Приравниваем к 486. Делим 128 на 16, получаем tag 64кбит. Но обычно стоит 256кбит.
Поэтому я не очень верю в такую избыточность и такую унификацию.
Попутно вопрос по размеру кэша: если 256КБ хватает для ОЗУ 64КБ, то по логике - 512КБ для 128МБ, и наконец бывает кэш 1МБ - да, да. А бывает ли ОЗУ на 486 256МБ? Теоретически да - 4 сима по 64МБ, но так ли однозначна эта формула? И верно ли то, что при ОЗУ 64МБ мне кэш свыше 256КБ не принесет пользы?
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Выдвину версию. Не обращали внимание, что микросхемы 256кбит самые часто встречающиеся?
Не удивлюсь, если из-за массовости производства они были по себестоимости равны менее распространенным 64кбит и 128кбит, или даже дешевле. Ведь последних должно было выпускаться в 8 раз меньше.
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Спорный вопрос. Зафиксируйте время на отметке 1992 год. Массово выпускаются первые 386DX компы. Самая частая микросхема кэша на "рассыпушных" материнках - 32 или 64кбит. У меня много таких - с 32 или 64КБайтным кэшем. Уже потом появились чипсетные материнки форматом А4 м кэшем 128КБ 5ю микросхемами. Но ведь оставались произведенные с избытком более старые 32 или 64кбит микросхемы? Ведь прогресс шел по нарастающей... Их бы ставили с удовольствием.
Хочется уточнения теории.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
sanders написал:
[q]
Но ведь оставались произведенные с избытком более старые 32 или 64кбит микросхемы?
[/q]
Это ещё вопрос.
В истории производства чипов памяти регулярно чередуются периоды с перепроизводством и дефицитом.
Не случайно цены на память так скачут.
Вполне возможно, что избытка 32 и 64кбит и не было. Либо он быстро закончился.
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
To sanders. Относительно что было выгоднее тогда ставить - не подскажу. Но бывают
случаи когда микросхема меньшей емкости даже дороже стоит, из-за того что снята с
производства. Кстати на моей M321 (386DX) как раз стоял tag 8Kx8 запаянный(!). Пришлось
выпаивать чтобы нарастить cache до 256KB. Может еще влиять удобство разводки, у более емких
микросхем есть "запас" на адресную(ые) линии. Напомню, что для RAM не сильно важно, какой
именно вывод адреса/данных использовать фактически, те A1 может быть подключен как A6,
D1 к D5 итп.


sanders написал:
[q]
Попутно вопрос по размеру кэша: если 256КБ хватает для ОЗУ 64КБ, то по логике - 512КБ для 128МБ, и наконец бывает кэш 1МБ - да, да. А бывает ли ОЗУ на 486 256МБ? Теоретически да - 4 сима по 64МБ, но так ли однозначна эта формула? И верно ли то, что при ОЗУ 64МБ мне кэш свыше 256КБ не принесет пользы?
[/q]
RAM 256MB (как и cache 1MB) на 486 бывает, например SiS496/497 поддерживает.
Максимальный cache size, как и DRAM жестко ограничен возможностями чипсета.
Пользу большой кеш все равно принесет, но наибольшая выгода от увеличения его
объема будет при большом ОЗУ (чтобы не было некешируемой памяти).

Отмечу, что для более современных чипсеттов i430TX, 430HX кешируется 64MB (512MB для
HX с 11-bit tag) в режиме WB, и область кеширования не зависит от объема кеша. Связано это
со встроенным в чипсет dirty/valid tag. Его организация 8Kx2 (2-х битный), что достаточно для кеша
256KB (8Kx32byte). Но для кеша 512KB недостаточно tag 8K, и он перестраивается в 16x1bit, а
недостающий bit берется с внешнего тега. Те с одной стороны увеличиваем размер кеша, с
другой стороны теряем один бит его, и независимо от cache size имеем cacheable RAM
64MB(512MB для HX с 11-bit tag).
Пишу по памяти, можете уточнить в datasheet, но идея такая (хотя там явно не написано, пишется
как само мобой разумеющееся). Похожая ситуация на Ali Alladin, но в datasheet подробная таблица
есть.
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
upd.
Для определения фактической области кеширования можно воспользоваться
программой CTCM7.EXE (надо только чтобы DRAM было больше cacheable size).
Она правда останавливается на 386/486, но успевает показать интересующую
нас cacheable memory.

Приравнивание 386DX к 486 выглядит логично, однако у 386 нет пакетных циклов
(это новшество было введено в 486), поэтому в принципе возможно использование
меньших размероов строки кеша, например 8 или 4 байта. Тут бы помогла документация
на 386 chipsets, но ее трудно найти.
<<Назад  Вперед>> Страницы: 1 2
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   По какому правилу устанавливается емкость TAG SRAM?
RSS

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

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

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