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

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

Простейший конвейер, производительность конвейера

Простейший конвейер, производительность конвейера - раздел Компьютеры, Принципы функционирования ЭВМ. Учебное пособие по курсам «Технология программирования» и «Операционные системы» Существует Достаточно Простое Общеизвестное Правило – Чтобы Выполнить Некотор...

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

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

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

В качестве примера рассмотрим некоторый абстрактный процес­сор, имеющий типичные черты многих современных RISC-процес­соров. Основа архитектуры процессора – банк из 32 регист­ров об­щего назначения и счетчик команд. Система команд процес­сора включает типичный набор арифметических и логических ко­манд, команд с плавающей точкой, операций ветвлений. Команды имеют трехадресный формат. Данные, подлежащие обработке, должны быть предварительно размещены в регистрах процессора. Загрузка данных их памяти в регистры и запись данных в память произво­дится командами загрузки – записи. Процесс выполнения команды можно разбить на следующие независимые этапы:

1) считывание команды – IF;

2) дешифрация команды – ID;

3) вычисление адреса/выборка данных из регистров – RD;

4) выполнение команды/обращение к памяти – EX;

5) запись результата в регистр – WR.

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

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

 

Команда 1 Команда 2 Команда 3
IF ID RD EX WR IF ID RD EX WR IF ID RD EX WR
                             

а)

№ такта
Команда 1 IF ID RD EX WR        
Команда 2   IF ID RD EX WR      
Команда 3     IF ID RD EX WR    
Команда 4       IF ID RD EX WR  
Команда 5         IF ID RD EX WR

б)

Рис 25. Диаграмма работы простейшего процессора а) в неконвейерном режиме, б) с конвейеризацией

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

IF ID RD EX WR

Максимальная длительность у этапа выполнения – 60 нс., она и определяет минимальную длительность этапа при конвейерной об­работке. Пусть дополнительные расходы на пересылку данных из блока в блок составят 5 нс. Тогда длительность каждого этапа должна быть равной 65 нс. Длительность выполнения команды в не­конвейерном режиме составит 50 + 50 + 50 + 60 + 50 = 260 нс. В конвейерном процессоре длительность выполнения одной команды составит 65 * 5 = 325 нс., т.е. время выполнения одной команды возрастет почти в полтора раза. Однако при последовательном вы­полнении команд время, требуемое для выполнения, например, 100 команд составит 100 * 260 нс. = 26 мкс. Время выполнения тех же 100 команд на конвейере при отсутствии задержек составит 325 + (100 – 1) * 65 = 6.76 мкс (время выполнения одной команды плюс длительность завершающего этапа для 99 оставшихся команд). При большом количестве выполняемых команд, каждая команда в кон­вейерном режиме будет завершаться в среднем за 65 нс.

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

1. Структурные конфликты, которые возникают из-за конфлик­тов по ресурсам, когда аппаратные средства не могут поддерживать все возможные комбинации команд в режиме одновременного вы­полнения с совмещением.

2. Конфликты по данным, возникающие в случае, когда выпол­нение одной команды зависит от результата выполнения предыду­щей команды.

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

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

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

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

Принципы функционирования ЭВМ. Учебное пособие по курсам «Технология программирования» и «Операционные системы»

В пособии излагаются базовые принципы организации и функционирования ЭВМ Рассмотрен состав минимальной ЭВМ с шинной организацией назначение и... Илл библиограф наим...

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

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

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

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

ПРИНЦИПЫ ФОН НЕЙМАНА
Большинство современных ЭВМ строятся на базе принципов, сформулированных американским ученым, одним из “отцов” кибернетики Дж. фон Нейманом. Впервые эти принципы были опубликованы фон Нейманом в 19

СОСТАВ И ФУНКЦИОНИРОВАНИЕ МИНИМАЛЬНОЙ ЭВМ С ШИННОЙ ОРГАНИЗАЦИЕЙ
Шинная организация является простейшей формой организации ЭВМ. Подобная ЭВМ имеет в своем составе следующие функциональные блоки (см. рис. 1). Устройство управления (УУ) -

КОМАНДЫ ЭВМ
В данном разделе пособия кратко рассмотрим набор команд, используемых в типичных ЭВМ и действия, реализуемые этими командами.

ПЕРЕЙТИ ЕСЛИ БОЛЬШЕ К АДРЕСУ L .
Первая из команд (сравнение) производит, как отмечалось выше, вычитание значения операнда B из операнда A. Если A>B, то результат будет положителен и, соответственно, флаг знака во флаговом реги

СИСТЕМНЫЕ ИНТЕРФЕЙСЫ С ИЗОЛИРОВАННОЙ И ОБЩЕЙ СИСТЕМОЙ ШИН
В предыдущих разделах при описании обобщенного алгоритма работы центрального процессора мы намеренно опустили из рассмотрения вопрос о том, как процессор “отличает” порты внешних устройств от ячеек

СПОСОБЫ ОБМЕНА ДАННЫМИ В МАШИНАХ С ШИННОЙ ОРГАНИЗАЦИЕЙ. МЕХАНИЗМ ПРЕРЫВАНИЙ
Рассмотрев алгоритм функционирования процессора и способы организации системы шин в ЭВМ, попытаемся выяснить, какие особенности в работу и организацию ЭВМ вносит необходимость обеспечения взаимодей

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

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

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

И ЕЩЕ О ПРЕРЫВАНИЯХ
Описанный выше механизм прерываний, или аппаратные прерывания, является эффективным способом организации взаимодействия процессора с медленными внешними устройствами и начал

РЕЖИМЫ АДРЕСАЦИИ
При выполнении программы многим командам требуется доступ к памяти для выборки данных, записи промежуточных и окончательных результатов вычислений. Для любого такого обращения, что уже отмечалось в

ИЕРАРХИЧЕСКАЯ ОРГАНИЗАЦИЯ ПАМЯТИ
Память в современных компьютерах строится по иерархическому принципу. Одним из явлений, характерных для фоннеймановских ЭВМ является принцип локальности. Это означает, что за ограниченный промежуто

Кэш-память
Как уже говорилось выше, назначение кэш-памяти – временное хранение данных и команд, часто используемых процессором. Основной структурной единицей кэш-памяти является так называемая строка кэша (ca

Страничная организация виртуальной памяти
В системах со страничной организацией основная и внешняя память (главным образом дисковое пространство) делятся на блоки или страницы фиксированной длины. Каждому пользователю предоставляется некот

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

Процесс переадресации виртуальной памяти
Процесс переадресацииопишем на примере микропроцессора 80386 фирмы Intel. Процесс переадресации показан на рис. 19 и 20.Перед исполнением загрузочные модели помещаются в оперативну

ФОРМАТЫ ДАННЫХ
Основными типами данных, которые встречаются при обработке информации в ЭВМ, являются числа, представленные в двоичной системе счисления, а также алфавитно-цифровые символы. Некоторые ЭВМ также осу

ИНФОРМАЦИОННАЯ МОДЕЛЬ ЭВМ
Обработка чисел, символьной информации, логическая обработка, обработка сигналов - это все частные случаи общего понятия над названием «обработка информации». Для ЭВМ характерен признак: информация

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

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

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

ЭВМ С КАНАЛЬНОЙ ОРГАНИЗАЦИЕЙ
В основе этого типа организации ЭВМ лежит множественность каналов связи между устройствами и функциональная специализация узлов. Упрощенная схема организации ЭВМ с каналами приведена на ри

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