Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Конвейерная обработка

Е. МЕТОДЫ ПОВЫШЕНИЯ БЫСТРОДЕЙСТВИЯ КОМПЬЮТЕРОВ

МЕТОДЫ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

Существуют три способа повышения производительности современных вычислительных систем:

1. за счет использования конвейеров команд и арифметических конвейеров (конвейеризация).

2. за счет повышения быстродействия элементно базы (тактовой частоты).

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

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

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

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

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

1. IF (Instruction Fetch) - считывание команды в процессор;

2. ID (Instruction Decoding) - декодирование команды;

 


3. OR (Operand Reading) - считывание операндов;

4. EX (Executing) - выполнение команды;

5. WB (Write Back) - запись результата.

Выполнение команд в таком конвейере представлено в следующе таблице.

 

 

Команда Такт
                 
i IF ID OR EX WD        
i+1   IF ID OR EX WD      
i+2     IF ID OR EX WD    
i+3       IF ID OR EX WD  
i+4         IF ID OR EX WD

Таким образом, если конвейерное устройство содержит L ступеней, а каждая ступень срабатывает за одну единицу времени, то время обработки п независимых операций этим устройством составит L+n-1 единиц.

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

Пусть для выполнения отдельных стадий обработки требуются следующие затраты времени (в некоторых условных единицах):

Tip = 20, Тщ = 15, Tor = 20, Тех = 25, Т\ув = 20.

Тогда, предполагая, что дополнительные расходы времени составляют 3=5 единиц и выравнивая длину каждо ступени до максимально, получим время такта:

Т = max {Tip, Тщ, Tor, Тех, Т\ув} + S = 30.

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

При последовательно обработке время выполнения N команд составит:

Тпосл = N*(Tip + Тщ + Tor + Тех + Т\ув) = 100N.

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

Тконв = 5Т + (п-1) * Т.

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

 

 

Количество команд  
Последовательное выполнение Конвейерное выполнение
     


200 240


10 1000 420

100 10000 3120

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

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

„ п п 1

t = = ------------ =------------------, где

t S + L + k-l.х т

т + (о + L -1)

п

где х - это время такта работы компьютера.

Пиковая производительность любого конвейерного устройства никогда недостижима на практике.

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

<== предыдущая лекция | следующая лекция ==>
Особенности обеспечения надежности ВС | Повышение быстродействия элементной базы
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 341; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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