Через книгу Скотта Мюллера "Модернизация и ремонт ПК" узнал, что на первопневских платах 430VX и 430TX кеш второго уровня мог работать только для первых 64мб оперативной памяти. У чипсетов 430HX мог и до целых 512мб, но только если доставлена память кеша тегов...
Так вот, вопрос специалистам. Как узнать, какой объем оперативы может обслуживать кеш на моей плате (тот же HX может не всегда ведь 512мб). У меня чипсет SiS 5502(вроде). Найти мануал не получаеться. Да если и найду, навряд-ли разберусь.
Почему я считаю что на ПСП влияет только частота шины, частота памяти, тайминги и синхронность\асинхронность шины памяти к шине чипсета:
Как я понимаю: Существует определенный стандарт шины, по которой процессор общается с чипсетом. Его задал Intel. По ниму процессор обращаетсья к севернику на чтение\запись данных. И не обязательно из памяти. Причем, отправив пакет с запросом, он продолжает заниматься своими делами. (и освобождает шину) А в контроллере памяти этот запрос отправился в очередь. Т.е. "общение" процессора с северником всегда одинаково, какой бы это чипсет не был... И скорость у всех одинакова.
Теперь как я понимаю регистры чипсета:
В случае памяти, задают: режимы работы (синхронность\асинхронность контроллера памяти), частоты (шины памяти, PCI и т.д.), тайминги памяти, режим работы кеш-контроллера.
Теперь, думаю, если два сравниваемых чипсета имеют одинаковую частоту шины (а так и есть), шины памяти и тайминги, оба они синхронные, то и память работать должна так же.
Это моё предположение будет неверно, если чипсет имеет "собственные" задержки. Тогда встаёт вопрос, как их узнать? И тогда я буду полностью с вами согласен.
PS Мое понимание функционирования процессора\чипсета\памяти может беть и неверным. Тогда прошу указать, в чем я ошибаюсь А то я же все-таки программист, а не железячник
AlnZ Т.к. для того, чтобы со мной согласиться Вам достаточно, чтобы было понятно откуда возникают задержки в чипсете, я постараюсь Вам это показать пользуясь тем, что Вы сами проделали все необходимые рассуждения кроме заключительного вывода. Думаю, не желай Вы, чтобы Ваш SIS был не хуже i430 Вы бы довели рассуждения до конца
Теперь замечаем, что процессор "не знает" где лежат нужные ему данные. Они могут быть в L2 кэше (для упрощения считаем что про L1 он "знает") либо в ОЗУ. Время потребное для выборки данных из L2 и ОЗУ различается в разы. При этом все должно работать правильно, как в том, так и в другом случае. Следовательно получить данные процессор может с весьма разной задержкой. По сравнению с этим задержки вносимые собственно чипсетом (для простоты будем считать его набором регистров меняющих свое состояние с частотой кратной FSB) вполне допустимы, но влиять на ПСП они от этого не перестанут.
Разные чипсеты реализуют разную стратегию работы с кэшем, скажем та же степень ассоциативности кэша может отличаться и это опять-таки скажется на ПСП.
На практике, SIS-овские чипсеты под i486 были одними из лучших, но чипсеты под P1 и AMD К5/К6, не став хуже сильно проигрывали чипсетам от Intel, который радикально сменив архитектуру несколько лучше конкурентов знал, что именно надо оптимизировать да и ресуросв для этого имел поболее...
То что в описанной мной истории про апгрейд с iP75 на iP133 причиной "тормозов" была именно хреновая работа с памятью я вынужден был выяснять экспериментально. Иначе было крайне сложно объяснить людям, почему замена процессора, который тогда стоил около двухсот $ не проявляется в повышении производительности на их задачах.
А про то, что не все чипсеты "одинаково полезны", это просто экспериментально установленный факт.
P.S. Железячником никогда не был, а последние 10-12 лет и программистом себя не считаю...
За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.
>для упрощения считаем что про L1 он "знает"
Да, знает, так как этот кеш находится внутри самого процессора...
>По сравнению с этим задержки вносимые собственно чипсетом
Считаю, что если-бы чипчет вносил какие-то "левые" задержки, то шина процессора была бы либо асинхронной, либо чипсет требовал бы что-то вроде "таймингов" у памяти. И тогда бы это было-бы известно. (хотя-бы потому, что тогда бы чипсеты можно было-бы "разгонять". или появился бы новый критерий оценки производительности чипсетов)
>ассоциативности кэша может отличаться и это опять-таки
>скажется на ПСП.
Да, отличаеться. WB или WT. Причем, уверен, что размер кешируемой области всегда равен размеру шины данных, т.е. 64 бита. А как ещё он может отличаться?
Добавлено спустя 2 минуты 21 секунду:
>не проявляется в повышении производительности на их задачах.
А может это было связано с тем что "их задачи" подразумевали интенсивную работу с HDD и у SiS'а IDE работал в режиме только PIO?
Добавлено спустя 3 минуты 51 секунду:
PS: Да меня то-же очень сложно считать "программистом", учитывая, что 90% времени надо "вправлять мозги" бухам... Под "программистом" скорее всего понимаю, кем себя осознаю. Типа хобби - Delphi, Pascal. Создатели свободных программ\библиотек могут быть бухгалтерами или водителями, но они всё равно "программисты"!
AlnZ
>По сравнению с этим задержки вносимые собственно чипсетом
Считаю, что если-бы чипчет вносил какие-то "левые" задержки, то шина процессора была бы либо асинхронной, либо чипсет требовал бы что-то вроде "таймингов" у памяти. И тогда бы это было-бы известно. (хотя-бы потому, что тогда бы чипсеты можно было-бы "разгонять". или появился бы новый критерий оценки производительности чипсетов)
Я Вам про последнее, а именно про ПСП как критерий производительности работы с памятью при прочих равных условиях (таких как тип, время доступа и организация используемых модулей и FSB на которой они работают) всю дорогу и пытаюсь объяснить, пока правда не очень успешно.
Синхронная шина означает только одно - частота от которой тактируется процессор, чипсет и память одинаковая, но задержки могут быть разные, например три и десять тактов при выборки данных из кэша и ОЗУ. Асинхронный чипсет позволяет согласовывать работу памяти работающей, скажем, на частоте 66, 100 или 133 MHz с процессором, FSB которого отличается на 33 MHz в ту или другую сторону и только.
>ассоциативности кэша может отличаться и это опять-таки
>скажется на ПСП.
Да, отличаеться. WB или WT. Причем, уверен, что размер кешируемой области всегда равен размеру шины данных, т.е. 64 бита. А как ещё он может отличаться?
Дались Вам WB и WT. Посмотрите статейку про организацию кэш-памяти, узнаете много интересного про другие аспекты, как про ассоциативность, которую я упоминал, так и про, например, стратегии вытеснения данных из кэша.
P.S. По крайней мере некоторые SIS-овые чипсеты умели обеспечивать работу пентиумов, требующих 64 разрядного доступа к памяти с ОДНИМ 32 разрядным СИМом. Правда этот режим был тормозным даже по сравнению с 64 на том же SISе. Если Вы в состоянии объяснить этот факт как-либо иначе, чем теми соображениями, которые я приводил выше, то я даже не знаю что бы мне еще придумать для того, чтобы Вас убедить...
P.P.S. Ваша гипотеза, что в помянутом мной случае тормознутого чипсета виновата была дисковая подсистема говорит только о том, что Вы забыли, что тогдашние диски (850Mb - 1.6GB) с блинов даже "с попутным ветром" давали единицы мегобайт в секунду, для которых даже PIO3 не являлось ограничением.
За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.
Да у Интелов буфер на чтение мозга в севернике. С умным северником, каковой этот буфер наполняет... Программисту на ЯВУ (языки высокого уровня) - сложно понять как работает чипсет. Мне - тоже сложно... Я вот не пойму почему я NAND-Flash не могу писать (да хер с ним писать - хоть ЧИТАТЬ) со скоростью USB-флешек. Хотя я - на PCI, у меня DMA есть (плата - бас-мастеринг умеет)... 5-6 Мегабайт на чтение, хоть ты убейся..
А ты говоришь - память...
P.S. Пятница, сорри, если что - пива попил....
А кому счас легко...
То же пиво пью! Пятница же!
Да не только у интелов буфер на чтение\запись в севернике. У всех. Что-бы проц мог заниматься своими делами и не занимать шину... И учитывая мультискалярную архитектуру первопней (в 486 небыло), буфера в один "пакет" (не знаю как это называетсья) было-бы недостаточно для реализации этой "фичи". Сделать буфер в 2-3 раза больше обычного любому производителю не так уж и сложно... Грубо говоря 1 килобайт статической памяти не сильно усложнит микросхему. А делать его в десятки раз больше особо смысла нет, т.к. проц все-равно выполняет только 2 инструкции за так, и для хранения пром.данных есть L1 кеш. Да и у чипсета L2...
2rgt
>но задержки могут быть разные, например три и десять тактов при
>выборки данных из кэша и ОЗУ
В случае с ОЗУ задержки (т.е. тайминки) будут те-же, т.к. это зависит от чипа ОЗУ, а не чипчета! А в случае с кеш'ем - какие задержки у статической памяти??? да, будут, но уж слишком несущественные!!!
>Дались Вам WB и WT. Посмотрите статейку про
>организацию кэш-памяти
В этой самой статейке описаны ДВЕ стратегии записи в кешь память - WB и WT Больше стратегий (записи там нету)
Да, кстате, забыл указать, что на моей машинке с SiS502 256кб. Я до этого не указывал, что если кеша больше, то это лучше. Это и так понятно. Этот критерий подразумевался
>узнаете много интересного про другие аспекты
Немного узнал. Автор много мыслью по дереву растекаться. Вормулы приводит... Узнал что, оказываетсья, есть ещё и не ассоциативный кеш... А я думал, что он только ассоциативный. В любом случае у меня такой! Правда, на SiS'е я могу выбрать хоть WB, хоть WT!!! Из биоса!
А на счет сиса, поддерживающего по одной палке симм - к сожалению, у меня не такой... Он медленнее, но зато я мог бы палки симов тестировать. Недавно из двух симовых 4'верок сделал одну 8ку (одну распаял, а к другой со второго бока отпаяные чипы присобачил, да перемычки для детекта на симе перерезал...) Давно думаю, а можно из двух 8-рок сделать 1 - 16ку (учитывая что все RAS и CAS контакты уже заняты, думаю придеться вешать мультиплексор)
Для теста таких конструкций плата с таким чипсетом очень бы пригодилась!
Да, для Pentium процессоров кешировать блоки меньше 64бит не имеет смысла. Это даже я понимаю. А уж производители дятьки точно не глупые. Чипсет, который вы упоминали относиться, скорее всего не к Pentium процессорам (и Socket7), а к каким-нибуть Pentium Ready чипсетам под сокет ещё 486'ых...
Да, и ещё. Этот SiS был выпущен уже тогда, когда интели уже во всю со своими Pentium II занимались, и Socket7 уже забыли. Т.е. мы сравниваем чипсеты разного возраста. У сиса было время, что-бы исправить свои ошибки.
И, вроде, слава сисов (да и виашек) как тормозов появилась в эпоху Pentium2, а не первопней. Хотя это уже мое мнение, а не знание...
Я уже сильно "под пивом", так что вряд-ли могу что осмысленное написать...
Добавлено спустя 2 минуты 2 секунды:
Вопрос - почему мне не получаеться создавать цитаты? А также - вставлять картинки, смайлики, сслыки?
Чего-о-о-о? Мы говорим о SiS 5501 или как?
А кому счас легко...
Да, о нем. У него на микросхеме (плата передомной) написано, что он 96 года... Если мне память не изменят тогда уже пошли PentiumPro и Pentium2...
AlnZ
А Вы статейку-то на трезвую голову перечитайте...
Фантазировать по поводу "Pentium Ready" не советую, это были вполне себе пентиумные чипсеты. Мое знакомство с ними имело место в 98 году, машинки были выпущены еще не скупленной тогда Компаком фирмой Digital Equipment Corporation.
А вот мой опыт говорит, что SIS-овые чипсеты под P3 как раз реабелитировали SIS в моих глазах. Чипсетов под P!! пощупать не довелось...
За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.
2Savely:
На счет NAND-Flash. Если не ошибаюсь, это сейчас самый распространенный тип флеш микросхем. Он и в USB флешках используется. В разы чаще, чем тот-же NOR...
Отправить комментарий