Back

ⓘ Конфликти проточне обраде




                                     

ⓘ Конфликти проточне обраде

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

  • конфликти контроле гранања
  • структурни конфликти
  • конфликти података

Постоји неколико метода које се баве конфликтима, укључујући одугловлачења проточне обраде енгл. pipeline stalls, "пенушање" проточне обраде енгл. pipeline bubbling, прослеђивање регистара и, у случају ванредног извршавања енгл. out-of-order execution, ООЕ, scoreboarding метода и Томасулио алгоритам.

                                     

1. Позадина

Инструкције у процесору са проточном обрадом се извршавају у неколико фаза тако да се, у било ком тренутку, неколико инструкција обрађују у различитим фазама проточне обраде нпр. fetch донеси и execute изврши). Постоји више различитих архитектура за проточну обраду инструкција и инструкције могу бити ванредне ООЕ. До конфликта долази када две или више ових инструкција вероватно нека ООЕ дођу у сукоб.

                                     

2. Типови

Конфликти података

До конфликта података долази када инструкција која излаже зависност податка модификује податак у другој фази проточне обраде. Игнорисање потенцијалних конфликта може довести до стања трке енгл. race conditions. Постоје три симулације у којима може доћи до конфликта података:

  • Пиши после читања енгл. write after read, WAR, анти-зависност
  • Читај после писања енгл. read after write, RAW, права зависност
  • Пиши после писања енгл. write after write, WAW, зависност излаза

Разматрамо две инструкције: i1 и i2, где се i1 дешава пре i2 по редоследу програма.

Читај после писања RAW

i2 покушава да чита извор пре него што i1 запише на податку "Читај после писања" конфликт се односи на ситуацију где једна инструкција покушава да приступи резултату који се још увек није или учитао или израчунао. Ово се може догодити зато што, иако се једна инструкција извршила после претходне инструкције, претходна инструкција се није још увек потпуно обрадила у процесу проточне обраде.

                                     
  • архитектуром. Годинама касније се доказала као ћорсокак због своје дугачке проточне обраде која је подразумевала много више фреквенције рада. Материјали нису
  • централизовани метод који се користи у рачунару CDC 6600 за динамичко планирање проточне обраде тако да се инструкције могу извршавати ван реда када нема конфилкта
  • извршава сваку инструкцију једну за другом нпр. скаларна архитектура без проточне обраде може користити процесорске регистре неефикасно, потенцијално доводећи

Users also searched:

...