Проточна обрада

(преусмерено са Protočna obrada (računarstvo))

У рачунарству, проточна обрада је скуп елемената за обраду података повезаних у серијама, где излаз једног елемента представља улаз за следећи елемент.[1]

Проточне обраде у вези са рачунарством:

  • Проточна обрада инструкција, као што је РИСЦ проточна обрада, која се користи у процесорима.
  • Графичка проточна обрада, налази се у већини графичких картица, и састоји се од више аритметичких јединица, или потпуних процесора који имплементирају поједине фазе(пројекција, растеризација, калкулација осветљења, и др.).
  • Софтверска проточна обрада, где се команде записују на излазима који се прослеђују следећим операцијама. Класични пример су цеви Униx системских позива.

Концепт и мотивација уреди

Проточност је природан концепт у свакодневном животу. На пример, при склапању аутомобила, мотор, шасија, точкови, и остали делови се постављају у одређеном редоследу у различитим фазама у процесу производње. При производњи аутомобила, само се једна фаза може извршавати у једном тренутку. Након што је мотор постављен, прелази се на следећу фазу у којој се поставља шасија аутомобила, чиме се омогућава следећем аутомобилу да уђе у фазу у којој се поставља мотор. Први аутомобил се помера на траку за уграђивање точкова, други аутомобил на траку за уграђивање шасије, а трећи аутомобил почиње са уграђивањем мотора. Ако уграђивање мотора траје 20 минута, уграђивање шасије 5 минута, и уграђивање точкова 10 минута, тада ће се сва три аутомобила завршити за 105 минута ако се један аутомобил прави у једном тренутку. Са друге стране, ако се праве по претходно наведеном поступку, време потребно за производњу три аутомобила је 75 минута.

Категорије проточне обраде уреди

Линеарна и не-линеарна проточна обрада уреди

Линеарна проточна обрада је низ фаза које су поређане линеарно да би извршиле одређену функцију над током података. Стандардна употреба линеарне проточне обраде је извршавање инструкција, аритметичких израчунавања и приступа меморији.

Не-линеарна проточна обрада (или динамичка проточна обрада) може се подесити да обавља разне функције у различито време. Динамичка паралелна обрада допушта веома дуге инструкцијске речи.

Трошкови и мане уреди

Проточна обрада не смањује време потребно за извршавање једне ствари; она само повећава проток система када обрађује токове података.

"Висока" проточна обрада резултује повећањем кашњења.

Систем са проточном обрадом обично захтева више ресурса него извршење једне серије појединачно, због тога што фазе не могу искоритити ресурсе других фаза.

Разматрања у дизајну уреди

Један од кључних аспеката дизајна проточне обраде је баланс фаза. Користећи пример склапања аутомобила, могли смо уштедети више времена ако би и склапање мотора и склапање точкова захтевало 15 минута посла.Иако би кашњење система још увек било 35 минута, било би могуће склопити ауто сваких 15 минута. Другим речима, процеси са проточном обрадом дају излазе темпом који је одређен најспоријом компонентом система.

Друго разматрање при дизајну је снабдевање адекватног баферовања између фаза обраде – посебно када је време обраде неправилно, или када се подаци могу креирати или уништавати током обраде.

Графички алати уреди

За посматрање распоређивања проточне обраде (статичке или динамичке), користе се табеле резервације.

Табеле резервације уреди

Табела резервације за линеарну или статичку обраду се може лако генерисати зато што подаци теку линеарним током како статичка обрада врши одређене операције. У случају динамичке проточне обраде, или не-линеарне обраде, користи се не-линеарни шаблон тако да се генерише више табела резервације за различите функције.

Табела резервације приказује ток података у времену и простору.

Имплементација уреди

Баферована,синхронизована проточна обрада уреди

Конвенционални микропроцесори су синхронизована кола која представљају баферовану, синхронизовану проточну обраду. У овој обради, регистри су постављени између фаза обраде, и тактовани синхроно. Време између сваког такта је постављено да буде веће него највеће кашњење између фаза обраде, тако да када су регистри тактовани, подаци који се записују у њих су заправо излаз из претходне фазе.

Баферована, асинхронизована проточна обрада уреди

Асинхронизована проточна обрада се користи у асинхроним колима, и регистри су тактовани асинхроно. Уопштено говорећи, они користе систем "захтев/потврда", у коме свака фаза детектује када је "завршена". Када је фаза завршена и следећа фаза послала сигнал захтева, она шаље сигнал потврде следећој фази, и сигнал захтева прошлој фази. Када фаза прими сигнал потврде, она тактује своје улазне регистре, читајући податке са фазе пре ње.

Проточна обрада без бафера уреди

Проточна обрада без бафера, "таласна проточна обрада", нема регистре између фаза. Уместо њих, кашњења у обради су балансирана тако да је разлика између првог стабилизованог излаза података и задњег излаза минимална. Подаци теку у таласима кроз фазе обраде, и сваки талас се држи што краћим.

Референце уреди

  1. ^ Qуинн, Мицхаел Ј. (2004). Параллел Программинг ин C wитх МПИ анд опенМП. Дубуqуе, Иоwа: МцГраw-Хилл Профессионал. ИСБН 0072822562. 

Спољашње везе уреди