Статья опубликована в рамках: IV Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 22 августа 2016 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ПРИНЦИП ОРГАНИЗАЦИИ ОБРАБОТКИ ДАННЫХ НА ПРИМЕРЕ ПЯТИСТУПЕНЧАТОГО КОНВЕЙЕРА
На сегодняшний день конвейерная обработка информации занимает одно из центральных мест в вычислительной технике. В самом деле все современные ЭВМ используют данных подход в обработке информации. Преимущества данного принципа заключаются в достижении высокой производительности систем, главным образом благодаря тому, что процессор выполняет не одну команду, а сразу несколько.
Теперь более подробно рассмотрим принцип конвейерной обработки данных. В его основе (если рассматривать самый простой вариант) лежит разбиение одной большой заведомо сложной функции на более мелкие функции, которые в дальнейшем будем называть ступенями. Для каждой такой ступени выделяется отдельный блок в аппаратуре ЭВМ.
Производительность такой организации обработки данных возрастает в основном за счет того, что одновременно на различных ступенях конвейера выполняются сразу несколько команд. Конвейерный поход в обработки информации широко применяется во всех современных быстродействующих процессорах, таких как Pentium Intel Core i7, AMD A10. Но длина такого конвейера может составлять 20-30 ступеней, в зависимости от типа выполняемой программы и тактовой частоты процессора. [4]
Выполнение же типичной (простой) команды можно разделить на следующие этапы, которые состоят из 5 ступеней:
H1 –считывание команды в процессор (выборка команды);
H2 – декодирование команды (определение КОП и типа операндов);
H3 – считывание операндов (определение местонахождения операндов и вызов их из регистров);
H4 – выполнение команды;
H5 – запись результата.
Выполнение команд в таком конвейере представлено в таблице 1.
Таблица 1
Порядок выполнения команд в 5-ступенчатом конвейере
Номер команды |
Такт |
||||||||
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
i |
H1 |
H2 |
H3 |
H4 |
H5 |
|
|
|
|
i+1 |
|
H1 |
H2 |
H3 |
H4 |
H5 |
|
|
|
i+2 |
|
|
H1 |
H2 |
H3 |
H4 |
H5 |
|
|
i+3 |
|
|
|
H1 |
H2 |
H3 |
H4 |
H5 |
|
i+4 |
|
|
|
|
H1 |
H2 |
H3 |
H4 |
H5 |
Из таблицы видно, что при увеличении команды на n-единиц, ступени смещаются ровно на столько же тактов.
Далее рассмотрим производительность идеального конвейера. [3, 5]
Очевидно, что в каждом такте выполняются разные этапы обработки команд, соответственно время такта будет вычисляться путем максимального выполнения всех этапов. К тому же, нужно учесть, что для перехода команды от одного этапа обработки к другому так же требуется время, связанное с хранением промежуточных результатов обработки в регистры буфера.
Допустим, для выполнения отдельных этапов обработки потребуются следующие затраты времени (в некоторых условных единицах):
TH1 =20; TH2 =15; TH3 =20; TH4 =25; TH5 =20;
Тогда, предполагая, что дополнительные время составляет t = 5 единиц, вычислим время такта (1):
T = max {TH1 =20, TH2 =15, TH3 =20, TH4 =25, TH5 =20} + Δt = 30; (1)
Теперь проанализируем время выполнения одной команды и некоторой группы команд при последовательной и конвейерной обработке данных.
При последовательной обработке время выполнения N команд будет следующим (2):
Tпосл = N × (TH1 + TH2 + TH3 + TH4 + TH5) = 100N; (2)
Из анализа таблицы 1 следует, что при конвейерной обработке после того, как получен результат выполнения первой команды, то результат очередной команды появляется в следующем такте работы процессора. Таким образом, время при конвейерной обработке N команд будет вычисляться следующей формулой (3):
Tконв = 5T + (N-1) × T; (3)
Бесспорно, что при определенно длительной работе, быстродействие конвейера будет значительно превышать быстродействие, которое достигается при последовательной обработке команд. Это увеличение будет тем больше, чем меньше длительность такта конвейера и чем больше количество выполненных за исследуемый период команд. Уменьшение длительности такта может достигаться разделением выполнения команды на большое число этапов, каждый из которых включает в себя сравнительно простые операции и поэтому будет выполняться за более короткий промежуток времени.
Длительность обработки некоторого количества команд (1, 2, 5, 10, 100, 1000) при последовательном и конвейерном выполнении представлена в таблице 2.
Таблица 2
Оценка эффективности конвейерной обработки
Количество команд |
Время |
|
Последовательное выполнение |
Конвейерное выполнение |
|
1 |
100 |
150 |
2 |
200 |
180 |
5 |
500 |
270 |
10 |
1000 |
420 |
100 |
10000 |
3120 |
1000 |
100000 |
30120 |
Несмотря на достоинства конвейерной обработки команд, в ней часто возникают ошибки (конфликты), которые замедляют и блокируют выполнение очередной команды в предназначенном для нее такте. Такие конфликты могут быть вызваны по разным причинам, но в целом их можно отнести к структурным. [1, 2]
В результате проведенного анализа принципа конвейерной обработки данных, была получена следующая концептуальная модель, представленная на рисунке 1.
Рисунок 1 – Концептуальная схема системы с конвейерной обработкой данных
S–задания, поступающие на обработку.
Q1, Q2, Q3, … , Qn , Qn+1 , … , QN – очереди заданий, поступающих на обработку.
T1об±T1об, T2об±T2об, Tпоб±Tпоб, … , TNоб±TNоб – единица условного времени, затраченная на обработку 1, 2, … , N-го задания.
P1±p1, P2±p2, Pп±pп, … - страницы, на которые увеличивается объем задания на выходе 1, 2, …, N-го процессоров.
R – задания, которые обработались.
Таким образом, конвейерная обработка способствует улучшению в использовании аппаратных ресурсов для определенного набора процессов, каждый из которых применяет данные ресурсы заранее предусмотренным методом.
Список литературы:
1. Архитектура микропроцессоров. Конвейерная организация работы микропроцессора – [Электронный ресурс] – Режим доступа: URL: http://www.intuit.ru/studies/courses (Дата обращения: 10.07.2016)
2. Архитектура ЭВМ – [Электронный ресурс] – Режим доступа: URL: http://rushkolnik.ru/docs/336/index-807195.html?page=11#2 (Дата обращения: 13.07.2016)
3. Конвейерная обработка данных. Суперскаляризация – [Электронный ресурс] – Режим доступа: URL: https://sites.google.com/site/arhitekturaevm1/razdel-2-arhitektura-i-struktura-vycislitelnyh-masin-i-sistem/4-konvejernaa-obrabotka-komand-superskalarizacia (Дата обращения: 12.07.2016)
4. Основы организации вычислительных систем. Конвейерная организация – [Электронный ресурс] – Режим доступа: URL: http://www.lcard.ru/~nail/database/skbd/glava_7.htm (Дата обращения: 10.07.2016)
5. СИЗИТ. Оценка производительности идеального конвейера – [Электронный ресурс] – Режим доступа: URL: http://www.xsieit.ru/download/computer_organization/lectures/11.html (Дата обращения: 10.07.2016)
дипломов
Оставить комментарий