При проектировании кэш-памяти используются следующие характеристики в качестве исходных данных: ве-роятность удачного обращения, размещение буфера, емкость буфера, размер блока, алгоритмы управления, отображение адресов, отношение значений времени обращения для чтения и записи, алгоритмы записи, число модулей основной памяти и последовательность обращения к ним, эффективная за-держка или время ожидания для одного модуля, эффектив-ная средняя задержка или время ожидания для нескольких модулей. Данные характеристики называются внешними т.к. при проектировании кэш-памяти имеется возможность менять данные характеристики.
Исходные для проектирования характеристики обычно устанавливаются опытным путем. Внутренними характеристиками являются эффективное быстродействие кэш памяти и стоимость кэш памяти. Внутренние характеристики изменяются в зависимости от внешних характеристик. При проектировании кэш-памяти необходимо добиваться минимального отношения стоимость / быстродействие кэш-памяти, причем быстродействие кэш памяти желательно получить равным быстродействию процессора.
Стоимость кэш памяти вычисляется исходя из стоимости, количества и характеристик необходимых для реализации кэш-памяти аппаратных компонент. Для определения производительности кэш памяти существует несколько подходов - построение математической модели кэш-памяти, моделирование кэш-памяти, аппаратная реализация кэш-памяти.
Необходимо заметить, что может быть получено различное быстродействие систем кэш-памяти в зависимости от предположения о решаемом классе задач. В зависимости от решаемого типа задач могут меняться такие внешние характеристики как: ве-роятность удачного обращения, отношение значений времени обращения для чтения и записи, последовательность и вероятность обращения к модулям основной памяти. Так, например, для ВС с общей памятью и раздельными процессорами алгоритм с аннулированием и с обновлением данных по-разному эффективны для разных классов задач. Если при решении задачи обновленное данное не используется при расчетах в остальных процессорах, то наиболее эффективен алгоритм с аннулированием. Если же через некоторое время новое значение используется во всех процессорах, которые имели недостоверную копию, то более эффективным является алгоритм обновления данных.
Для построения математической модели кэш-памяти может применяться дискретная или непрерывная модель. Как правило, применяются дискретные модели, т.к. процессор, память и кэш функционируют в дискретном времени с минимальным временем дискретизации t.
Система процессор-память-кэш имеет конечное множество состояний, переходы из состояния в состояние возможны только в дискретное время кратное t. Процесс происходящий в системе можно представить дискретной цепью Маркова с конечным числом состояний. Вероятность перехода из одного состояния в другое не зависит от такта работы системы, а лишь определяется текущим состоянием системы. Определив вероятности нахождения системы в каждом состоянии можно получить интересующие характеристики системы.
Результативность данного подхода зависит от адекватности выбора состояний системы применительно к нахождению интересующих характеристик. В целом построение математической модели является сложным процессом и состоит из таких этапов:
После построения цепи Маркова определяют стационарные (не зависящие от времени) вероятности состояний системы. При использовании цепей Маркова для нахождения стационарных вероятностей приходится решать системы линейных уравнений большой размерности. В некоторых случаях удается разрешить данные системы аналитически, однако в большинстве случаях количество состояний цепи Маркова чрезвычайно велико и практический расчет характеристик системы невозможен. Для преодоления проблемы размерности задач можно использовать моделирование системы при помощи ЭВМ или же попытаться упростить математическую модель системы (что приведет к получению измененных характеристик).
При математическом моделировании наиболее легко оценить максимальную производительность системы кэш-памяти, а не реальную производительность - т.к. легче учитывать факт, что данные требуются процессору каждый такт и не учитывать, что существуют моменты когда процессор не требует получения данных.
Данный метод является менее сложным чем математическое моделирование. Однако для проведения моделирования может требоваться много физического времени работы ЭВМ. Точность получения характеристик зависит от полного учета всех входных характеристик а также от общего времени моделирования на ЭВМ. Для моделирования процессов работы систем могут использоваться алгоритмические, объектно-ориентированные и специализированные языки. Наиболее просто реализовать процесс функционирования системы при помощи объектно-ориентированных языков и особенно просто при помощи специализированных языков моделирования. Этот метод часто используется из-за своей простоты.
Суть данного метода состоит в том что аппаратно реализуется экспериментальная ВС с проектируемой кэш-памятью. На построенной ВС решается в течении некоторого времени задачи различных классов и накапливаются статистические данные о работе данной ВС. Преимуществом такого подхода является реальная оценка производительности кэш памяти, а не максимально возможная. Это происходит из-за того, что производительность кэш-памяти оценивается в зависимости от реального использования кэш-памяти процессором, а не так как в математических моделях - кэш память рассматривается безотносительно у процессору, процессор считается устройством которое каждый такт просит обслуживания со стороны кэш-памяти.
Подход аппаратной реализации кэш-памяти получил жизнь из-за нескольких аспектов. Первое, стоимость аппаратных компонент довольно мала, в то время как выделяются большие материальные средства для проектирования новых ВС. Вторым фактором является реальное получение характеристик новой ВС и возможность увидеть реальное изменение производительности ВС при изменении каких-либо внешних характеристик.