русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оценка вероятности промаха БП типа кэш.


Дата добавления: 2013-12-23; просмотров: 1678; Нарушение авторских прав


Лекция №2

Структурированный подход.

 

При создании модели этого тракта необходимо рассмотреть две модели: модель работы БП и модель работы рабочей нагрузки.

Во время выполнения программы происходит обращение за командами или за данными. В связи с этим можно говорить, что существует поток команд и данных или говорят, что существует рабочая нагрузка. Нас интересует адресная трасса - номера ячеек, к которым происходит обращение, следовательно, существует проблема задания адресной трассы при моделировании тракта ОП - БП - ЦП. Адресную трассу можно задать, используя структурированный подход. Все операторы можно разбить на следующие классы:

- операторы следования;

- операторы перехода;

- операторы цикла.

Существует доказательство, что все операторы могут быть сведены к выше перечисленным операторам. В результате получим, что адресная трасса примет вид:

(i,i+1), если i-ый оператор является оператором следования;

(i,i+k), если i-ый оператор - безусловный переход вперед;

(i,..,i+l,i,...,i+l,...,i,...,i+l) (r раз), если i-ый оператор - оператор цикла.

Получившаяся рабочая нагрузка обусловлена только наличием команд. Реальная программа состоит из комбинации этих объектов.

 

Будем выяснять вероятность «промаха» в зависимости от параметров кэш-памяти.

Пусть способ отображения БП - группо-ассоциативный. Введем параметр ассоциативности S, который показывает сколько областей в БП. V-объем БП (в блоках), n-число ячеек в блоке.

 
 

 

 


1) Пусть рабочая нагрузка состоит из операторов следования. Пусть К- объем программы в блоках.

Вероятность «промаха»:

 

 


При обращении к кэш-памяти за очередной командой происходит «промах» только для первой команды, принадлежащей данному блоку, т.к. в блок БП переписывается не только эта команда, но и остальные, следовательно происходит процесс опережающего ввода.



Вывод: чем больше ячеек в блоке - тем меньше вероятность «промаха».

2) Пусть программа состоит из команд следования и перехода вперед.

Пусть qi - вероятность того, что после выполнения текущей команды должна выполняться команда, отстоящая от текущей на i адресов вперед.

Пусть выполнилась первая команда, принадлежащая данному блоку, тогда вероятность того, что этот блок обеспечит выполнения только одной команды равна:

две команды:

ДЗ. Найти U3 и вывести рекуррентное соотношение.

Найдем среднее число команд, которые дает блок:

ДЗ. Найти m, если qi=1/n (если n®¥, то можно убедится, что m=e=2,47...)

Вероятность «промаха»:

Вывод: команды ветвления вперед увеличивают вероятность «промаха».

3) Программа состоит из всех трех операторов. Пусть длина цикла составляет l блоков и число повторений - r. При определении вероятности «промаха» рассмотрим три случая:

1. l £ V

2. V+V/S £ l

3. V £ l £ V+V/S

Рассмотрим первый случай (l £ V).

 

 

 


 

Этот случай характерен тем, что на первом цикле (шаге) (всего r) в БП нет ни одного блока программы, следовательно, при обращении к каждому блоку программы будет, происходит один «промах». На остальных циклах промахов нет. Для простоты будем считать, что программа начинается с начала области.

Рассмотрим второй случай (V+V/S £ l)

Пусть будет алгоритм замещения LRU.

На первом цикле при обращении к первым V блокам программы будет происходить один «промах», а V+1 блок вытесняет первый блок БП и т.д. На втором цикле тоже происходят вытеснения. Действительно первый блок программы отсутствует в БП (вместо него V+1 блок) следовательно, произойдет вытеснение V/S+1 блока и т.д.

Рассмотрим третий случай (V £ l £ V+V/S).

 

На первом цикле при обращении к первым V блокам программы будет происходить один «промах», а хвост программы (l-V блоков) вытесняет первые блоки из БП. На остальных циклах вытеснения происходят только с первыми l-V блоками каждой области БП.

На рис. приведена зависимость вероятности «промаха» от длины программы, состоящей из операторов следования, ветвления и цикла.

Пусть нам зафиксировали объем КЭШа и наша задача - найти параметр ассоциативности S (1£ S £.V). Если S=V, то мы имеем чисто ассоциативное отображение. Если S=1, то второй участок зависимости наиболее пологий, следовательно, мы имеем оптимальное значение параметра ассоциативности, принимая во внимание только «промах» при обращении к БП типа кэш (вероятность «промаха»).

 



<== предыдущая лекция | следующая лекция ==>
Моделирование БП типа кэш. | Алгоритм замещения LRU.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.