Karh09 2

2. Архитектура на процесорен набор инструкции.


страницата се нуждае от дописване/преглеждане


Аспекти на архитектурата на процесора

Един от най-важните аспекти при архитектурата на процесора е процесорното състояние. Когато една инструкция навлезе в процесора тя го заварва в някакво състояние и го оставя в друго такова. Състоянието на процесора образува един контекст за изпълнението на следващата инструкция. Основният аспект на контекста е програмния брояч. Той е един регистър който съдържа адреса на текущата, респективно на следващата инструкция. Той се увеличава с дължината на прочетената инструкция и в него се записва адреса на следващата инструкция. Това е една проста и автоматична операция. В началото програмният брояч съдържа адреса нa инструкцията която трябва да изпълни. Освен програмния брояч, акумулатора или регистрите също образуват контекста. Следваща единица са флаговете, които са възникнали при изпълнението на предишните инструкции. Тези аспекти образуват видимото състояние на процесора. Видимо за програмиста и софтуера.

Как се изпълнява една инструкция:

  • взима се инструкцията – извлича се от паметта съдържанието на program counter
  • декодира се – указва се кои са операндите и какво трябва да направи процесора.
  • извличане от регистъра – извлича се необходимата информация от паметта (може на части или цялата) и се изкарва на двата входа на АЛУ-то
  • АЛУ операция – извършва се необходимата операция върху входните данни
  • може да се установи процедура по записване на получената информация в паметта
  • write back – записва се резултата обратно в някои от регистрите

В някои от тези фази се изчислява адреса на следващата инструкция.

Instruction Sets – Множества от инструкции

Множество от инструкции е фиксиран набор от инструкции за някоя архитектура. Добро множество от инструкции е такова множество, нa което лесно се пишат програми, старите програми да тръгват на новите процесори и да поддържа няколко имплементации.RISC – reduced instruction set computer CISC – complex instruction set computer. CISC архитектури са много от съвременните процесори, като Intel x86. В публичното пространство е известно, че съществува минимален брой от инструкции, чрез които процесорът може да работи по-ефективно и има множество разработени такива проекти за процесори, но никои от тях не успява да се наложи за масовия потребител.
Архитектурата на набора от инструкции е структурата на компютъра която един програмист на машинен език трябва да разбере за да напише правилна (времево независима ) програма за тази машина. Набора от инструкции специфицира функционалността на процесора: какви операции поддържа, какви механизми за запаметяване има и как се достъпват те, как те се използват от програмиста (компилатора) за реализирането на програмата.
Относно програмирането през годините. В зависимост от големината на набора от инструкции има следните периоди в програмирането: преди 1975 - програмира се предимно ръчно, чрез електронно табло и оператор; 75-85 – повечето код се компилира, но все още се смята че истинските програмисти програмират на асемблерен език;85 - повечето код се компилира и се смята, че е поне толкова добър колкото асемблерния; следва голям скок отностно значението нза думата програмист.
Преди 80-те години се създават набори от инструкции чиято основна цел е била да бъдат лесно програмируеми от хората които ги използват. Това довежда до доста тежки архитектури с много голям брой инструкции.
След 80-те години се създават набори от инструкции чиято основна цел е била да се създават програми които компилаторите да могат лесно да изпълняват.
Много популярен въпрос е това, че днешните архитектури на набор инструкции са насочени към един език от високо ниво(C), който се оказва, че е език на много ниско ниво (assembly++).
Много е важно старият софтуер да работи на новите процесори. Това води до многократно оскъпяване на новоизработващият се софтуер. Първи забелязват това в Intel. Трудно е мисленето за съвместимост във времето. Има изкушение да се използва ISA устройство за 5% полезно действие, но това устройство трябва да продължи да се поддържа дори и при падането на коефициента му на полезно действие и той стане равен на 0 или по малко.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License