Студопедия

КАТЕГОРИИ:

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


Конвейеризация




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

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

 

Процесс выполнения короткой команды (логическая или ФЗ) - цикл процессора - м.б. разделён на микрокоманды (такты процессора). Их пять. Все такты выполняются для команды только один раз и в одном и том же порядке. Т.о. если первая микрокоманда выполнилась для очередной команды и передала результат второй, то она может начать выполнять следующую команду.

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

 

С1   С2   С3   С4   С5
Блок выбора команды   Блок декодирования   Блок выбора операндов   Блок выполнения команд   Блок записи результата

Рассмотрим конвейер из 5 блоков – стадий. Блок С1 вызывает команду из памяти и помещает её в буфер, где она хранится до тех пор, пока не будет нужна. Стадия С2 декодирует эту команду, определяя её тип, тип её операндов. Блок С3 определяет местонахождение операндов и вызывает их из регистра или из памяти. Блок С4 выполняет команду. Блок С5 записывает результат обратно в нужный регистр.

 

С1
С2  
С3    
С4      
С5        
                   
 
Время (такты)

 

Здесь показано 9 тактов действия конвейера во времени.

Во время такта 1 Блок С1 вызывает команду 1 из памяти.

Во время такта 2 Блок С2 декодирует команду 2, в то время как Блок С1 вызывает команду 2.

Во время такта 3 Блок С3 работает с операндами команды 1, Блок С2 декодирует команду 2, Блок С1 вызывает команду 3.

Во время такта 4 Блок С4 выполняет команду1, Блок С3 работает с операндами команды 2, Блок С2 декодирует команду 3, Блок С1 вызывает команду 4.

Во время такта 5 Блок С5 возвращает результат работы команды 1, Блок С4 выполняет команду 2, Блок С3 работает с операндами команды 3, Блок С2 декодирует команду 4, Блок С1 вызывает команду 5.

Для лучшего понимания принципа работы конвейера МП можно рассмотреть работу любого конвейера, например, кондитерского. В отделе отправки установлен длинный конвейер, у которого стоят 5 рабочих. Каждые 10 секунд (время такта) рабочий 1 ставит пустую коробку для торта на ленту конвейера, рабочий 2 кладёт в неё торт, рабочий 3 закрывает коробку, рабочий 4 маркирует её, рабочий 5 кладёт её в контейнер для отправки.

Пусть время такта нашего конвейера 2 нс. Тогда цикл выполнения команды 10 нс. Казалось бы, такой процессор может выполнить в секунду 100 млн. команд, но в действительности скорость работы ЦП выше. Во время каждого такта завершается выполнение одной команды, поэтому ЦП выполняет не 100 млн., а 500 млн. операций в секунду.

Т.о. конвейер обеспечивает компромисс между временем ожидания (время выполнения одной команды) и пропускной способностью ЦП (число млн команд, выполняемых в секунду) При времени такта Т нс и числе стадий конвейера К время ожидания составит КТ нс, а пропускная способность 1000/Т млн. операций в секунду.

 


Поделиться:

Дата добавления: 2015-01-29; просмотров: 63; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты