Архитектура на стека - Studiopedia

Класификация по място за съхранение на операнд

Класиране по състав и сложност на екипите

Класификация на архитектурите на набори от инструкции

Системата от командина компютър е пълен списък от команди, които даден компютър може да изпълни.Архитектурата на набора от инструкции(ACK) се отнася до онези компютърни съоръжения, които са видими и достъпни за програмиста. Архитектурата на набора от инструкции може да се разглежда като линия на съвпадение на нуждите на разработчиците на софтуер с възможностите на създателите на компютърен хардуер.

В крайна сметка целта и на двете е да реализират изчисленията по най-ефективния начин, тоест за минимално време, като тук правилният избор на архитектура на набора от инструкции играе най-важна роля.

В опростена интерпретация времето за изпълнение на програмата (Tcalc) може да се определи чрез броя на инструкциите в програмата (Ncom), средния брой процесорни цикли на инструкция (CPI) и продължителността на тактовия период:

.

Всеки от компонентите на израза зависи от някои аспекти на архитектурата на набора от инструкции и от своя страна влияе върху други (фиг. 2.45), което показва необходимостта от изключително отговорен подход към избора на архитектура на набора от инструкции.

стека

Ориз. 2.45. Връзката между командната система и факторите,

определяне на ефективността на изчисленията

Текущата ситуация в областта на архитектурата на командната система е илюстрирана на фиг. 2.46.

архитектура

Ориз. 2.46. Хронология на развитието на архитектурите на командната система

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

• архитектура с пълен набор от инструкции: CISC (Complex Instruction Set Computer);

• архитектура с намален набор от инструкции: RISC (Reduced Instruction Set . Computer);

• архитектура с много дълги думи с инструкции: (Very Long Instruction Word).

В компютрите от типCISCпроблемът със семантичната празнина се решава чрез разширяване на командната система, допълвайки я със сложни команди, семантично подобни на езиковите оператори от високо ниво. За основател на CISC архитектурата се счита IBM, която започва да прилага този подход с фамилията машини IBM 360 и го продължава в своите мощни съвременни мейнфрейм компютри, като IBM ES/9000. Подобен подход е типичен за Intel в микропроцесорите от серията 8086 и Pentium. Типът CISC включва почти всички компютри, произведени преди средата на 80-те години на миналия век и значителна част от тези, които се произвеждат в моментаCISC архитектуратасе характеризира с:

• наличието в процесора на относително малък брой регистри с общо предназначение;

• голям брой машинни инструкции, някои от тях изпълняват сложни високоезични оператори в хардуераниво;

• множество формати на команди с различен капацитет;

• наличие на команди, при които обработката е комбинирана с достъп до паметта.

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

Елементи на RISC архитектурата се появяват за първи път в компютрите и суперкомпютрите CDC 6600 от Cray Research. RISC архитектурата е доста успешно внедрена в съвременните компютри, например в процесорите Alpha от DEC, серията PA от Hewlett-Packard, семейството PowerPC и др.

Най-новите микропроцесори на Intel и AMD използват широко идеите, присъщи на RISC архитектурата, така че много от разликите между CISC и RISC постепенно се заличават.

Таблица 2.14. Сравнителна оценка на CISC, RISC и VLIW архитектури

ХарактеристикаCISCRISCVLIW
Дължина на командатаВарираЮнайтедЮнайтед
Подреждане на полета в командаВариранеизмененнеизменен
Брой регистриНяколко (често специализирани)Много регистри с общо предназначениеМного регистри с общо предназначение
Достъп до паметтаМоже да се изпълнява като част от различни видове командиИзпълнява се само със специални командиИзпълнява се само със специални команди

По отношение на съхранението и достъпа на операнд се разграничават следните типове архитектури на набори от инструкции:

• със специален достъп до паметта.

Стекът се извиквапамет, която се различава по своята структурна организация от основната памет на компютъра. Стекът образува набор от логически взаимосвързани клетки (фиг. 2.47), взаимодействащи на принципа „последен влязъл, първи излязъл“ (Last In First Out).

стека

Ориз. 2.47. Как работи стековата памет

Най-горната клетка се наричагорната част на стека. За работа със стека са предвидени две операции: push (запис на данни в стека) и pop (четене на данни от стека). Записването е възможно само в горната клетка на стека, докато цялата информация, съхранена в стека, първо се избутва една позиция надолу. Четенето също е разрешено само от горната част на стека. Извлечената информация се премахва от стека, а останалото съдържание се избутва нагоре. В компютри, които прилагат архитектура на структура на инструкции, базирана на стек, операндите се поставят в горните две места на паметта на стека преди обработката. Нека обясним принципа на работа на стековата машина, като използваме примера за изчисляване на израз (фиг. 2.48).

Ориз. 2.48. Последователност за оценка на израза

на компютър със стекова архитектура

Основните възли и информационните пътища на един от възможните варианти на компютър, базиран на стековата архитектура на системата с инструкции, са показани на фиг. 2.49.

studiopedia

Ориз. 2.49. Стекова компютърна архитектура

За да се извърши аритметична или логическа операция, информацията, прочетена от горните две клетки на стека, се подава към входа на ALU (в този случай съдържанието на стека се премества две позиции нагоре, т.е. операндите се премахват от стека). Резултатът от операцията се избутва в горната част на стека. Възможно е резултатът незабавно да се пренапише в паметта с помощта на автоматично извършената операция pop x.

Горни стекови клеткипаметта, където се съхраняват операндите и където се съхранява резултатът от операцията, като правило, се правят по-бързо и се намират в процесора, докато останалата част от стека може да бъде разположена в основната памет и частично на магнитния диск.

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

Последните развития в областта на компютърните технологии показват възраждане на интереса към стековата архитектура на компютъра. Това се дължи на популярността на езика Java и разширяването на обхвата на езика Forth, чиято семантика е най-близка до стековата архитектура.

Не намерихте това, което търсихте? Използвайте търсачката: