Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » По какому правилу устанавливается емкость TAG SRAM? |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 23 декабря 2016 15:29 Сообщение отредактировано: 23 декабря 2016 15:39
На эту тему я могу говорить долго, даже статью собирался писать, но пока руки не дошли - и еще много нюансов невыясненных. Коротко - для обычного 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 написал: Пишите! На эту тему я могу говорить долго, даже статью собирался писать.. |
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 написал: Это ещё вопрос. Но ведь оставались произведенные с избытком более старые 32 или 64кбит микросхемы? В истории производства чипов памяти регулярно чередуются периоды с перепроизводством и дефицитом. Не случайно цены на память так скачут. Вполне возможно, что избытка 32 и 64кбит и не было. Либо он быстро закончился. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 24 декабря 2016 12:05 Сообщение отредактировано: 24 декабря 2016 12:22
To sanders. Относительно что было выгоднее тогда ставить - не подскажу. Но бывают случаи когда микросхема меньшей емкости даже дороже стоит, из-за того что снята с производства. Кстати на моей M321 (386DX) как раз стоял tag 8Kx8 запаянный(!). Пришлось выпаивать чтобы нарастить cache до 256KB. Может еще влиять удобство разводки, у более емких микросхем есть "запас" на адресную(ые) линии. Напомню, что для RAM не сильно важно, какой именно вывод адреса/данных использовать фактически, те A1 может быть подключен как A6, D1 к D5 итп. sanders написал: RAM 256MB (как и cache 1MB) на 486 бывает, например SiS496/497 поддерживает. Попутно вопрос по размеру кэша: если 256КБ хватает для ОЗУ 64КБ, то по логике - 512КБ для 128МБ, и наконец бывает кэш 1МБ - да, да. А бывает ли ОЗУ на 486 256МБ? Теоретически да - 4 сима по 64МБ, но так ли однозначна эта формула? И верно ли то, что при ОЗУ 64МБ мне кэш свыше 256КБ не принесет пользы? Максимальный 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, но ее трудно найти. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
В подтверждение правоты i8088, а раз я не понимаю, как оно работает, то пытаюсь верить написанному, так вот: в одном описалове перемычек кэша на 486 материнке написано на счет TAG SRAM для 256КБ кэша - "16/32х8" - т.е. годится любая из этих микросхем в качестве tag-а. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 декабря 2016 17:19 Сообщение отредактировано: 25 декабря 2016 18:47
Итак, на 386 и 486 получается такая формула кэша и tag-а (взято из двух мануалов и формулы i8088): 512КБ - 256кбит 256КБ - 128/256кбит 128КБ - 64/128кбит 64КБ - 32кбит Больше - можно, меньше - низзя (С) госп. Беладонна из "Фунтика" |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » По какому правилу устанавливается емкость TAG SRAM? |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |