рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Локализация

Локализация - раздел Компьютеры, Обзор компьютерных систем Основой Для Повышения Производительности Двухуровневой Памяти Являет­ся Принц...

Основой для повышения производительности двухуровневой памяти являет­ся принцип локализации, о котором шла речь в разделе 1.5. Основной постулат состоит в том, что последовательные обращения к памяти имеют тенденцию со­бираться в группы (кластеры).По истечении длительного периода времени один кластер сменяется другим, но на протяжении сравнительно небольших проме­жутков времени процессор преимущественно работает с адресами, входящими в один и тот же кластер памяти.

Принцип локализации подтверждается на практике. Рассмотрим следую­щую цепочку рассуждений.

1. Команды программы выполняются последовательно, за исключением тех случаев, когда встречаются команды ветвления или вызова (процедуры. функции и т.д.). Поэтому в большинстве случаев команды из памяти извле­каются последовательно, одна за другой в порядке их размещения.

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

3. Большинство итерационных конструкций состоят из сравнительно неболь­шого числа многократно повторяющихся команд. Во время выполнения этих итераций вычисления сосредоточены на небольшом локализованном участке программы.

4. Во многих программах значительная часть вычислений приходится на опе­рации с такими структурами данных, как массивы и последовательности записей. В большинстве случаев данные, к которым происходит обращение, расположены близко друг к другу.

Приведенные рассуждения подтверждаются многими исследованиями. Для проверки утверждения 1 проводился разносторонний анализ поведения про­грамм, составленных на языках высокого уровня. Результаты измерений часто­ты появления различных команд при выполнении программы, проведенные раз­ными исследователями, представлены в табл. 1.3. Одно из самых ранних исследований поведения языка программирования проводилось Кнутом[KNUT71], рассматривавшим различные программы на языке FORTRAN, написанные студентами при выполнении практических заданий. Таненбаум [TANE78] опубликовал результаты измерений, проведенные более чем на 300 процедурах, которые использовались при разработке операционных систем и были написаны на языке, поддерживающем структурное программирование. Паттерсон и Секвин [РАТТ82] провели анализ ряда измерений, выполненных над компиляторами, текстовыми редакторами, системами автоматизированного проектирования, программами сортировки данных и сравнения содержимого файлов (языки программирования С и Pascal). Хак [HUCK83] проанализировал четыре программы, являющиеся типичными примерами программ для проведения научных вычис­лений. Среди них были, в частности, программы для выполнения быстрого Фу­рье-преобразования и для решения системы дифференциальных уравнений. По­лученные результаты хорошо согласуются с утверждением, что ветвления и ко­мандывызовов представляют собой лишь небольшую часть всех команд, выполняющихся во время работы программы. Таким образом, проведенные ис­следования подтверждают справедливость приведенного выше утверждения 1.

Таблица 1.3. Относительная динамическая частота различных операций, встречающихся в программах, составленных на языках высокого уровня

Исследование Язык   [HUCK83] Pascal   (KNUT71] FORTRAN   [РАTT82] Pascal     С [TANE78] SAL  
Изучаемый материал   Научное ПО   Студенческие работы   Системное ПО   Системное ПО   Системное ПО  
Присвоение            
Цикл         а    
Вызов            
IF            
GOTO       -     -  
Другие   -          

 

Что касается утверждения 2, то его справедливость подтверждается Иссле­дованиями, результаты которых изложены в [РАТТ85]. Это проиллюстрировано на рис. 1.20, где показано поведение программы в разрезе используемых в ней вызовов процедур и возврата из них. Каждый вызов представлен отрезком ли­нии, идущим на одно деление вниз, а каждый возврат — отрезком, идущим на одно деление вверх. Весь график заключен в коридор шириной 5 делений. Этот коридор является подвижным, но сдвигается лишь в результате 6 последова­тельных команд вызова или возврата. Из графика видно, что программа во вре­мя своей работы может оставаться в стационарном коридоре на протяжении дос­таточно длительного периода времени. Изучение программ, написанных на С или Pascal, показало, что при расширении коридора до 8 делений он сдвигается меньше, чем при 1% вызовов или возвратов [TAMI83].

Принцип локализации обращений подтверждается и более поздними иссле­дованиями. Например, на рис. 1.21 показаны результаты исследований, при ко­торых измерялась частота доступа к Web-страницам отдельно взятого узла.

 

В литературе различают пространственную и временную локализации.Пространственная локализация означает преимущественное обращение к некоторому количеству сгруппированных ячеек памяти. Это свойство отражает тенден­цию процессора исполнять команды последовательно. Пространственная локали­зация свидетельствует также о склонности программы обращаться к данным, которые находятся в последовательных ячейках, как, например, при обработке данных, собранных в таблицу.Временная локализация отражает тенденцию процессора обращаться к ячейкам памяти, к которым недавно уже производился доступ. Например, при выполнении цикла итераций процессор многократно по­вторяет исполнение одного и того же набора команд.

– Конец работы –

Эта тема принадлежит разделу:

Обзор компьютерных систем

Таблица Классы прерываний Программнное прерывание Прерывание по таймеру Прерывание... Прерывания в основном предназначены для повышения эффективности ра боты Например большинство устройств ввода вывода...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Локализация

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Обзор компьютерных систем
1.1. Основные элементы 1.2. Регистры процессора 1.3. Исполнение команд 1.4. Прерывания 1.5. Иерархия запоминающих устройств 1.6. Кэш 1.7. Техно

ОСНОВНЫЕ ЭЛЕМЕНТЫ
На макроуровне компьютер состоит из процессора, памяти и устройств вво­да-вывода; при этом каждый компонент представлен одним или несколькими модулями. Чтобы компьютер мог выполнять свое основное п

РЕГИСТРЫ ПРОЦЕССОРА
В процессоре имеется набор регистров, представляющих собой область па­мяти быстрого доступа» но намного меньшей емкости, чем основная память. Регистры процессора выполняют две функции.

Регистры, доступные пользователю
К доступным регистрам пользователь может обращаться с помощью команд машинного языка. К этим регистрам, как правило, имеют доступ все програм­мы — как приложения, так и системные. Обычно среди дост

Управляющие регистры и регистры состояния
Для контроля над работой процессора используются различные регистры. В большинстве машин эти регистры в основном не доступны пользователю. Неко­торые из них могут быть доступны для машинных команд,

ИСПОЛНЕНИЕ КОМАНД
Программа, которую выполняет процессор, состоит из набора хранящихся в памяти команд. В простейшем виде обработка команд проходит в две стадии: процессор считывает (выбирает) из памяти, а затем зап

Выборка и исполнение команды
В начале каждого цикла процессор выбирает из памяти команду. Обычно адрес ячейки, из которой нужно извлечь очередную команду, хранится в про­граммном счетчике (PC), Если не указано иное, после извл

Функции ввода-вывода
До сих пор мы рассматривали операции компьютера, управляемые процес­сором, основное внимание обращая на взаимодействие процессора и памяти. О роли компонентов ввода-вывода было упомянуто лишь вскол

Прерывания и цикл команды
Благодаря прерываниям во время выполнения операций ввода-вывода процес­сор может быть занят обработкой других команд. Рассмотрим ход процесса, пока­занный на рис. 1.5,б. Как и в предыдущем с

Множественные прерывания
До сих пор нами рассматривался случай возникновения одного прерывания. Представим себе ситуацию, когда может произойти несколько прерываний. На­пример, программа получает данные по коммуникационной

Многозадачность
  Бывает, что для эффективного использования процессора одних прерываний недостаточно. Обратимся, например, к рис. 1.9,6. Если время, которое требуется для выполнения операций ввода-в

ИЕРАРХИЯ ЗАПОМИНАЮЩИХ УСТРОЙСТВ
Конфигурация памяти компьютера в основном определяется тремя пара­метрами: объем, быстродействие, стоимость. Вопрос об объеме решить не так просто. Какой большой ни была бы па­мять, все ра

Обоснование
При выполнении каждого цикла команды процессор по крайней мере один раз обращается к памяти, чтобы произвести выборку команды. Часто это происходит повторно, причем возможны случаи нескольких повто

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

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

Программируемый ввод-вывод
  Когда процессору при выполнении программы встречается команда, связанная с вводом-выводом, он выполняет ее, передавая соответствующие команды контроллеру ввода-вывода. При программи

Ввод-вывод с использованием прерываний
Проблема программируемого ввода-вывода состоит в том, что процессор должен долго ждать, пока контроллер ввода-вывода будет готов читать или при­нимать новые данные. Во время ожидания процессор долж

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

Функционирование двухуровневой памяти
Принцип локализации может быть использован для разработки схемы двух­уровневой памяти. Память верхнего уровня (Ml) имеет меньшую емкость, она быст­рее, и каждый ее бит дороже по сравнению с памятью

Производительность
Рассмотрим некоторые параметры, характеризующие механизм двухуровневой Памяти. Сначала рассмотрим стоимость, которая выражается следующим образом:  

Реализация стека
Стек — это упорядоченный набор элементов, причем при обращении к нему можно получить доступ лишь к одному из элементов. Этот элемент называется вершиной стека. Число элементов стека (его дли

Вызов процедуры и возврат из нее
Общепринятым методом управления вызовами процедур и возвратами из них является использование стека. При обработке вызова процессор помещает в стек адрес возврата. При возврате из проц

Реентерабельные процедуры
Реентерабельная (повторно входимая) процедура является весьма полезной концепцией, особенно успешно применяемой в многопользовательских и много­задачных системах. Реентерабельной называется процеду

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги