Полезно за вас: Речник | Игри | Новини | Фирми | Рецепти | Обяви
Начало на реферати

Конвейрна обработка на информацията


Информационни технологии | 2009-12-04 | 171 сваляния

Конвейрна обработка на информацията


В съвременните компютри операциите се изпълняват не само със суматора, а се въвеждат и т.нар. конвейри, които довеждат до по-висока производителност и до определен паралелизъм при изпълнение на опциите. За компютрите използващи конвейри казваме, че притежават Super Pipe Line Architecture (конвейрна архитектура). А компютрите които имат няколко конвейра, имат Super Scalar Architecture (скаларна архитектура).

При конвейра една операция се разбива на много подоперации, които се изпълняват едновременно (паралелно) и по такъв начин се увеличава производителността на обработката. В класа i86 за пръв път конвейри са въведени и в 80486 до сегашните компютърни системи. По принцип конвейрна се счита за характеристика на RISC компютрите и в нашия клас i86 се счита, че има елемент на RISC компютри.

Конвейра се характеризира със стъпала или етапи на обработка, освен етапи или стъпала не наричат фази на обработка. В различните модели и различните поколения компютри се използват конвейри с различна дължина (различно количество стъпала). Ние ще разгледаме най-прост конвейр който е използван в 486 или в Intel Pentium. Този конвейр е 5 стъпален (фазен).






IF D1 D2 EXE WB

t1

k

вход изход * предполагаме, че в момент от време t1 за обработка на входа идва инструкция к. Подробната таблица е на таблица 1.

IF = Instruction Fetch - Извличане на инструкция. На този етап IF извлича поредната инструкция от паметта в сл-я к-та. Обработка на поредната машинна инструкция във всяка фаза става за един процесорен цикъл. Не винаги процесорният цикъл съвпада с тактовата честота, т.е. генератора и затова казваме процесорен цикъл (такт). На следващ момент t2 се взема следващата инструкция к+1 и к отива на стъпало D1.

D1 = Decode 1 първо декодиране. В тази фаза се декодира кодът на операцията в съответната машинна инструкция в нашият случай в к-тата машинна инструкция. В момент t3 се извлича к+2 машинна инструкция, а останалите се придвижват в конвейра, а к-тата инструкция навлиза във фаза D2.

D2 = Decode 2 второ декодиране. В тази фаза се извършва изчисление на адреса на операндите и извличане на операндите от паметта. На момент t4 се извлича к+3 машинна инструкция, а к-тата навлиза във фаза EXE.

EXE = Execute изпълнение. В тази фаза се извършва изпълнението на посочената фаза с операнди извлечени на предишен етап. В следващ момент от време t5 се извлича следващата машинна инструкция к+4, а другите се придвижват напред в конвейра. К-тата инструкция навлиза във фаза WB.

WB = Write Back Обратен запис. Това означава че полученият след операцията резултат се записва в някакъв регистър. С това се счита, че обработката на к-тата инструкция е приключена, т.е. тя е излязла от конвейра.

За изпълнението на една инструкция в действителност са необходими 5 цикъла, но след първата машинна инструкция всяка следваща излиза на изхода след един процесорен такт, затова често казват, че всяка машинна инструкция освен първата се изпълнява за 1 процесорен такт. Този ефект се получава поради това, че в конвейра се обработват едновременно пет машинни инструкции в различни фази. Счита се, че производителността на компютъра при тази обработка се увеличава значително в най-добрият случай, т.е. теоретично е 1 цикъл, но в действителност не е така. В зависимост от машинната програма и подреждането на машинните инструкции в нея може да се окаже, че времето за обработка равно на един цикъл не е достатъчно. За някои ситуации и в резултат може да настъпят грешки, които ние наричаме блокиране на конвейра. Причините за блокировка на конвейра могат да бъдат следните:

  1. машинната програма е подредена така, че следващата машинна инструкция използва резултата от предишната.

Пр.: к mov. eax, ebx

k+1 add. eax, [eax + esi]

или иначе казано: к Премести съдържанието на регистъра ebx в еах. к+1 Събери съдържанието на регистрите еax + esi, а резултата запиши в edx.

В този пример к+1 инструкция ще използва при изчисляването на 2рия операнд старото, невалидно съдържание на регистъра еах, което ще доведе до грешка.

  1. Когато изчисленият операнд трябва да бъде извлечен от ОП. Обикновено циклите на ОП са по-бавни от процесорните поне 6 пъти, т.е. грешките се получават поради недостиг на време за обработка на инструкцията за фазата.

Пр.: Ако за една фаза са необходими 10nsec. за обработка, на ОП й трябват около 60nsec., но в конвейра има следващи операции, които на 11-тата nsec. във фазата ще постъпи следващата поред инструкция без първата да е била обработена в ОП за необходимото й време, и така се получава грешката.

  1. Ако се срещне инструкция Jump Безусловен преход или Jcc = Jump Code Condition преход по условие. Следва фиг.1.


Инструкции за преход се изпълняват във фазата EXE и чак тогава става ясно каква ще е следващата инструкция която трябва да бъде изпълнена, а през това време конвейра си работи. Докато се изпълнява инструкцията за прехода във фазата EXE конвейрът се пълни с инструкции разположени в машинната програма непосредствено след тази инструкция. След изпълнението може да се окаже, че следващата инструкция която трябва да бъде изпълнена се намира на съвсем друг адрес, т.е. че конвейрът се е напълнил с неправилните инструкции. Тук се получава грешката.

За да се предпази конвейрът от грешки или блокировки се използват 2 принципа (две концепции). Едната се нарича концепция на Бъркли, а другата на Станфорд. Първата е хардуерна, а втората софтуерна.

Конвейрна обработка на информацията

Добави своя коментар:



Тагове от реферата: , , ,


Подобни материали


Проектиране на изхода същност, изисквания, класифика-ция на реквизитите Информационни технологии | 2010-11-19 | 154 прочитания
Графичен потребителски интерфейс - основни елементи и предназначение Информационни технологии | 2010-11-19 | 69 прочитания
Модел TSPIP internet за мрежова архитектура Информационни технологии | 2010-11-19 | 151 прочитания
ОСНОВИ НА ЕЗИКА ЗА ОПИСАНИЕ НА МОДЕЛИ Информационни технологии | 2010-11-19 | 38 прочитания
Класове и обекти1 Информационни технологии | 2010-11-19 | 40 прочитания
Полупрозрачност Информационни технологии | 2010-11-19 | 34 прочитания
ПОТОЦИ. РАБОТА С КРАЙНИ И БЕЗКРАЙНИ ПОТОЦИ В ЕЗИКА SCHEME Информационни технологии | 2010-11-19 | 50 прочитания
Организация на апаратните средства в една компют. среда Информационни технологии | 2010-11-19 | 48 прочитания
ЧЕТЕНЕ НА ДАННИ И УПРАВЛЕНИЕТО ИМ Информационни технологии | 2010-11-19 | 41 прочитания
Вградено самотестване в Pentium базирани компютри. BIST технология Информационни технологии | 2010-11-19 | 102 прочитания