Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Краткая теория. Цель работы. Изучение влияния различных конфликтов на эффективность функционирования мультиконвейера.






 

Цель работы. Изучение влияния различных конфликтов на эффективность функционирования мультиконвейера.

 

В предыдущей работе отмечалось, что современные микропроцессоры, как правило, имеют несколько конвейерных устройств различных типов: для длинных и коротких операций или для операций с памятью, команд целочисленной арифметики и арифметики с плавающей точкой. Эффективность работы такого мультиконвейерного АЛУ зависит от структуры и числа конвейеров, а также от класса реализуемых на этом АЛУ алгоритмов.

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

1) По данным, появляющиеся, если выполнение одной команды зависит от результата предыдущей;

2) Структурные, которые возникают из-за занятости отдельных ресурсов (когда аппаратные средства не могут поддерживать выполнение операций в режиме с совмещением);

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

Все конфликты приводят к приостановке выполнения команды, в которой они возникли, а также всех следующих за ней до конца конвейера. Их влияние на характеристики системы с одним конвейером изучалось в лабораторной работе № 2.

В настоящей работе предлагается исследовать поведение мультиконвейерного АЛУ, в котором возникают коллизии первых двух типов. Конфликты по данным, как известно, появляются там, где имеет место зависимость между командами, и они расположены достаточно близко друг к другу. Причем эти ситуации возникают как при работе с регистрами АЛУ, так и при обращении к одной и той же ячейке кэш-памяти. Примером структурных конфликтов являются коллизии, возникающие при промахе в кэш-памяти и при необходимости выполнения записей в два или более регистров регистрового файла в течение одного машинного такта.

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

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

В модели также может воспроизводиться структурный конфликт, когда операнды очередной команды отсутствуют в кэш-памяти. Такие операции в программе называются командами записи/чтения из памяти. Операции записи считаются более длинными, чем чтение, и обрабатываются в длинных конвейерах. Если в кэш-памяти не оказывается данных для выполнения очередной команды, то она ожидает во входном буфере. В это время для заполнения конвейеров из очереди выбираются следующие команды.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.