Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: IV Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 22 августа 2016 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Лагарникова А.В. ПРИНЦИП ОРГАНИЗАЦИИ ОБРАБОТКИ ДАННЫХ НА ПРИМЕРЕ ПЯТИСТУПЕНЧАТОГО КОНВЕЙЕРА // Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ: сб. ст. по мат. IV междунар. студ. науч.-практ. конф. № 4(1). URL: https://sibac.info/archive/meghdis/1(4).pdf (дата обращения: 26.11.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 5 голосов
Дипломы участников
У данной статьи нет
дипломов

ПРИНЦИП ОРГАНИЗАЦИИ ОБРАБОТКИ ДАННЫХ НА ПРИМЕРЕ ПЯТИСТУПЕНЧАТОГО КОНВЕЙЕРА

Лагарникова Анастасия Вакилевна

Студент, кафедра информационных технологий СамГТУ, г. Самара

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

Теперь более подробно рассмотрим принцип конвейерной обработки данных. В его основе (если рассматривать самый простой вариант) лежит разбиение одной большой заведомо сложной функции на более мелкие функции, которые в дальнейшем будем называть ступенями. Для каждой такой ступени выделяется отдельный блок в аппаратуре ЭВМ.

Производительность такой организации обработки данных возрастает в основном за счет того, что одновременно на различных ступенях конвейера выполняются сразу несколько команд. Конвейерный поход в обработки информации широко применяется во всех современных быстродействующих процессорах, таких как 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)

Проголосовать за статью
Конференция завершена
Эта статья набрала 5 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.