Компютърни архитектури и мрежи; инструкция и адресно пространство

  • КОМПЮТЪРНИ АРХИТЕКТУРИ И МРЕЖИ

     

    ПОНЯТИЕ ЗА ИНСТРУКЦИЯ. АДРЕСНО ПРОСТРАНСТВО

     

     

    ИНСТРУКЦИИ:

     

    Компютърът изпълнява програма, която е наредена последователност от инструкции. Чрез инструкциите се управлява компютърната система. Компютърната програма се превежда на машенен език, т.е в машинни инструкции. Машинните инстуркции имат бинарно/двоично/ представяне. Действието на процесора зависи от инструкцията, която той изпълнява. Множеството от машинни инструкции, които се изпълняват от процесора се наричат система инструкции на процесора. Тази система трябва да е функционално пълна, т.е. всеки език за програмиране да бъде реализиран чрез машинните инструкции. Форматът на инструкцията дефинира броя на полетата в рамките на инструкцията, функционалното им предзначение, дължина. Форматът на инструкцията съдържа код на оперцията – КОП/операционен код/, полета за операнти, поле за резултата и евентуално адресно поле за следваща инструкция.

    Фази на изпълнение на иструкцията от процесора:

                        Изчисляване на адреса на инструкцията

                        Извличане на инструкцията от паметта и зареждането й в регистър на инструкцията IR

                        Декодиране на операцията

                        Изчисляване на адреса на резултата

                        Запис на резултата

     

    Формат на триадресна компютърна инстуркция:

     

     

    Полетата Префикс/обикновено с дължина 1 байт/ и суфикс служат за оказване на специална операция.

    Пример: Префикс ESCAPEуказва операция на данни с формат плаваща точка; префикс LOCK осигурява екслузивно използване на общата памет в мултипроцесорите; префикс REP указва повторение на операцията върху последователни елементи на стринг.

     

    При процесорите съществуват 2 начина за оказване на следваща инструкция – естествен ред на изпълнение и принудителе ред на изпълнение на иструкция. Съвременните масово използват естествения ред. При естествения ред – адресът на текущата изпълвявана инстуркция се съдържа в специален адресен регистър, наречен програмен брояч. След приключване на изпълнението на инструкцията, програмният брояч автоматично увеличава съдържането си, като по този адрес се излиза следващата инструкция, подлежаща на изпълнение.  При естествения ред не е необходимо да се използва допълнително поле във формата на инструкцията за указване на адреса на следставащата инструкция.

    При принудителния ред – последното поле във формата на инструкция съдържа адреса на следващата инстуркция. Съдържанеето на това поле се прехвърля в програмния брояч и по този адрес се извлича от паметта следващата инструкция.

     

    Кодовете на оперциите се представят чрез съкращения, наричани мнемонични означения

    ADD - сумиране

    SUB – изваждане

    MUL - умножение

    DIV - деление

    Операндите се представят в символна форма с имена на променливи.

     

    Пример: инструкция ADDR1, A – съдържанието на клетка от паметта с адрес А трябва да се прибави към съдържанието на регистър R1.

     

    Триадресният формат на инструкциите не се използва много, защото изисква голяма дължина на инструкцията, за да съдържа трите адресни полета.

     

    Двуадресен формат на компютърна инструкция:

     

     

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

     

    Едноадресен формат на инструкция