Една компютърна команда има колко части. Формати на инструкции на процесора. g - безадресно

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

Сумата от всички операции, които една машина може да извърши е система нея команди. Командната система зависи от дизайна на компютъра;
в едно и също семейство компютрите имат съвместими инструкции.

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

1. Команди за трансфер на данни(преброяване) копиране на информация от едно място на друго.

2. Аритметични операции, който всъщност дължи раждането си на компютрите. Разбира се, делът на изчислителните действия в съвременния компютър значително е намалял, но те все още играят важна роля в програмите.

3. Булеви операции, което позволява на компютъра да анализира получената информация. След изпълнение на такава команда, с помощта на условен скок, компютърът може да избере по-нататъшния ход на изпълнение на програмата. Най-простите примери за команди от разглежданата група са сравнението, както и добре познатите логически операции И, ИЛИ, НЕ (инверсия). В допълнение, те често добавят анализ на отделни битове код, тяхното нулиране и инсталиране.

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

5. Входни и изходни командиинформация за обмен с външни устройства.

6. Контролни команди, които включват предимно условни и безусловни скокове, както и инструкции за достъп до подпрограма (скок с връщане). Някои компютри имат специални инструкции за организиране на цикли, но това не е необходимо: всеки цикъл може да бъде намален до една или друга комбинация от условни и безусловни скокове. Често една и съща група команди включва операции за управление на процесора; тъй като сложността на процесорното устройство се увеличава, броят на такива инструкции се увеличава.

Според степента на сложност на инструкциите и техния асортимент процесорите се разделят на две групи - RISC и CISC (вижте “ процесор”).

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

Всяка компютърна команда обикновено се състои от две части - операционна и адресна. Оперативна част(иначе се нарича още код на операцията - COP) указва какво действие да се предприеме с информацията. Адресна част описва къде се съхранява използваната информация и къде да се постави резултатът.

Инструкциите могат да бъдат едно-, дву- и триадресни в зависимост от броя на възможните операнди. Първите компютри имаха най-простата и интуитивна триадресна командна система. Например: вземете числа от адресите на паметта A1 и A2, съберете ги и поставете сумата в адрес A3. За да приложите това допълнение на уникаст машина, трябва да изпълните не една, а три команди:

а) извлича съдържанието на клетка A1 в суматора;

б) добавяне на суматора към числото от А2;

в) запишете резултата от суматора в A3.

Може да изглежда, че една уникаст машина ще се нуждае от три пъти повече команди, за да разреши всеки проблем, отколкото машина с три адреса. Всъщност това не винаги е така. Опитайте се да планирате своя собствена програма за оценка на израза Y = (х 1 + х 2) * х 3/х 4 и ще се изненадате да откриете, че имате нужда от 3 триадресни команди и общо 5 едноадресни. По този начин едноадресната машина е малко по-ефективна, тъй като не създава ненужно записване в паметта на междинни резултати.

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

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

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

Операции с различна сложност се извършват за различен брой цикли. Например прехвърлянето на съдържанието на един регистър в друг е много по-бързо от умножаването на числа. Изпълнението на една инструкция се удължава значително, ако нейните данни се вземат не от вътрешните регистри на самия процесор, а от RAM (затова вътрешният кеш е вграден в процесора).

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

Експериментите показват 5, че за процесори от типа Pentium и по-ниски прости инструкции (прехвърляне, добавяне на регистър и т.н.) се изпълняват приблизително за един тактов цикъл. По този начин честотата на часовника може да служи като груба оценка на броя на тези операции, извършени за 1 секунда. При по-късните модели картината е значително „замъглена“ поради сложни методи за извършване на няколко операции едновременно.

Курс по информатика в основно училище

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

Обяснението на концепцията за тактова честота, предложено в статията, не е традиционно, но е доста лесно за разбиране и е в добро съответствие с дизайна на процесорите.

Курс по компютърни науки в гимназията

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

Принципите на изпълнение на програмата в машинни инструкции могат да бъдат изучавани и с помощта на техника, известна от методическата литература - модел на компютърно обучение, като "Krokha", "Neumann", "Baby" и др. 6 . Предимството на този подход се състои в това, че образователният модел на компютъра, отразявайки най-важните му характеристики, е в същото време най-опростен и не съдържа второстепенни подробности, които „разсейват“ вниманието на учениците. На базата на учебен компютър студентите могат да демонстрират следните въпроси: софтуерния принцип на компютъра, командната система, съхранението на данни в RAM - и някои други. Ако имате подходящ софтуер за обучение (можете да го вземете например от посочения по-горе сайт), можете дори да демонстрирате на учениците, въз основа на изучавания модел, какви са езиците за асемблиране и Pascal.

5 Вижте например експерименти 3.6.2 в: Еремин Е.А.Популярни лекции за устройството на компютъра. Санкт Петербург: BHV-Петербург, 2003, 272 с.

6 Уебсайтът е посветен на подробно описание на моделите на обучение. http://educomp.runnet.ru/.

Лекция 11 ОСНОВНИ КОМПЮТЪРНИ КОМАНДИ Класификация на командите по различни критерии Структура на компютърните команди Команди за пренос на данни Команди за обработка на данни Команди за прехвърляне на управление Команди за работа с подпрограми. Купчини. Други компютърни команди.

Системата от компютърни команди Цялото разнообразие от задачи, решавани на компютър, се реализира с помощта на малък набор от много прости команди. Командната система на типичен компютър включва само 60-150 основни команди. Всички команди основно служат за извършване на много прости действия, като четене, запомняне, добавяне, преместване, сравняване и т.н. Интелигентността на компютъра се постига благодарение на факта, че компютърът е способен да изпълнява програми, състоящи се от голям брой такива прости действия с огромна скорост, непостижима за хората. Когато се описва компютърна командна система, обикновено е обичайно командите да се класифицират според следните критерии.

Класификация на компютърните команди По функционално предназначение Команди за предаване на данни Команди за обработка на данни Команди за трансфер на управление Допълнителни (други) По брой адреси Безадресни или неадресирани С един адрес С два адреса С три адреса По метод на кодиране на операциите По дължина С фиксирана дължина на кода на операцията С променлива дължина на кода на операцията Чрез метод на адресиране Един байт (дума) Два байта (думи) Три байта (думи)

Код на операция a 1 a 2 a 3 - Триадресна команда a 1, a 2 - адреси на клетки (регистри), където се намират участващите в операцията числа (операнди) a 3 - адрес на RAM клетката, където искате да поставите резултатът Операционен код a 1 a 2 - Двуадресна команда Резултатът се записва в клетка a 2 Операционен код a 1 - Unicast команда a 1 - адрес на клетката, където се съхранява номерът, участващ в операцията, или адресът на клетката където се записва резултата Код на операцията - Команда за нулев адрес Всички операнди в регистъра на процесора

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

Команди за обработка на данни Тази група команди, по отношение на операциите, извършвани върху данни, могат да бъдат разделени на аритметични (събиране, изваждане, умножение, сравняване), логически (И, ИЛИ, НЕ и т.н.) и команди за смяна. Инструкциите от този тип могат да имат един или два операнда. Операндите могат да се съхраняват в регистрите на процесора, в паметта или в самата инструкция.

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

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

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

Src="https://present5.com/presentation/3/-29919247_13569617.pdf-img/-29919247_13569617.pdf-11.jpg" alt="Пример за инструкция за условно разклоняване IF оператор (A>B) след това отидете на L на някакъв език"> Пример команды условного перехода Оператор IF (A>B) then go to L некоторого языка высокого уровня может быть реализован двумя командами ЭВМ: СРАВНИТЬ А и В ПЕРЕЙТИ ЕСЛИ БОЛЬШЕ К АДРЕСУ L Если А>В, то результат вычитания будет положителен и соответственно флаг знака во флаговом регистре не установится. Вторая команда (условный переход) проверяет состояние флага знака и, если он не установлен, модифицирует программный счетчик так, чтобы его значение указывало на адрес L.!}

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

Къде трябва да се съхранява обратният адрес? За да започне изпълнението на подпрограма, адресът на първата инструкция на подпрограмата трябва да бъде зареден в програмния брояч. За да се върнете от подпрограма, трябва да съхраните някъде адреса за връщане. Можете например да съхраните обратния адрес в един от регистрите на процесора. Този начин за съхраняване на обратния адрес е много прост и лесен за изпълнение. Въпреки това, често има подпрограми, които извикват други подпрограми. Нека основната програма извика подпрограма A. Тя от своя страна извика подпрограма B. Ако адресът за връщане за подпрограма A се съхранява в регистър на процесора, тогава къде да поставите адреса за връщане при извикване на подпрограма B?

Обобщен алгоритъм за работа на фонов Neumann компютър Инициализация Извличане на команда Увеличаване на програмния брояч Декодиране и изпълнение на командата Не Команда “Стоп на процесора” Да Инициализация

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

Организация на стека 1. В компютъра за организацията на стека се отделя област от​​RAM, а за нейното адресиране и достъп до стека се използва регистърът на указателя на стека. 2. Регистърът на указателя на стека съхранява адреса на мястото в паметта, съдържащо последната стойност, избутана в стека. 3. Когато число бъде избутано в стека, указателят на стека се променя, за да сочи към следващото свободно място и данните се записват в него.

4. При изскачане от стека данните се четат от OP клетката, към която сочи указателят, след което указателят на стека се модифицира, за да сочи към предпоследната стойност, съхранена в стека. 5. Обикновено стековете растат в посока на намаляване на адресите, тоест, когато се запише число, указателят на стека намалява, а когато числото се извади от стека, той се увеличава.

Команди за работа с подпрограми. Стекове Стек = RT клетки + Регистър на указателя на стека (CPU ALU) Регистърът на указателя на стека съхранява адреса на ИЛИ клетката, която съдържа последния адрес за връщане, изпратен в стека Структура на данните на стека в примера A) Първоначално състояние: празен стек стек 998 996 B ) Два адреса за връщане се записват в стека: 1234 и 5678 1234 1000 Указател на стека 5678 998 Запис на адреси за връщане 996 C) Един адрес изскочи от стека, последният указател на стека 1234 1000 998 996 Прочетете 1000

Src="https://website/presentation/3/-29919247_13569617.pdf-img/-29919247_13569617.pdf-19.jpg" alt=" Работа на подпрограмата CALL инструкция за извикване 1. Когато процесорът прочете CALL инструкция от паметта"> Работа команды вызова подпрограмм САLL 1. Когда процессор считывает из памяти команду САLL , программный счетчик увеличивается и показывает на команду, следующую за командой САLL. То есть программный счетчик теперь содержит адрес возврата, с которого должно продолжиться выполнение основной программы после окончания работы подпрограммы. 2. При выполнении обращения к подпрограмме процессор сохраняет содержимое программного счетчика в стеке, точнее, в его ячейках ОП. 3. Далее в программный счетчик загружается адрес команды, с которого начинается подпрограмма. Процессор приступает к выполнению подпрограммы.!}

Действие на командата RETURN 1. За връщане от подпрограма към основната програма се използват команди за връщане RETURN. 2. Инструкцията за връщане от подпрограмата изважда адреса за връщане, съхранен в стека, и го поставя в програмния брояч. 3. Процесорът започва да изпълнява основната програма. 4. Ако е имало множество вложени извиквания на подпрограма, тогава връщането ще се извърши на адреса за връщане, съхранен от последното извикване (тъй като стекът се използва за съхраняване на адреси за връщане и последният записан адрес за връщане ще бъде извикан първи).

Други компютърни команди Компютърът може да има допълнителни (специални) команди. Те включват команди за спиране на централния процесор, нулиране на външни устройства, задаване или нулиране на отделни функции и т.н. И така, тази лекция прегледа накратко основните команди, използвани в типичните компютри, и действията, изпълнявани от тези команди.

2. Устройството на компютъра и взаимодействието на основните му устройства

2.1. Класически основи на изграждане на компютър

Основите за изграждане на електронни компютри в съвременния им смисъл са положени през 30-те и 40-те години на миналия век от английския математик Алън Тюринг и американеца от унгарски произход Джон (Янош) Нойман.

2.2. Класическа компютърна архитектура

През 1946 г. Джон Нойман представя работа, която поставя основите на развитието на компютърните технологии.

Основните точки на Нойман :

  1. Машините на електронни елементи трябва да работят не в десетична, а в двоична бройна система.
  2. Програмата трябва да се намира в един от блоковете на машината - в устройство за съхранение(памет), която има достатъчен капацитет и подходящи скорости за извличане и писане на програмни команди.
  3. Програмата, както и числата, с които работи машината, се представят в двоичен код. Така във формата на представяне командите и числата са от един и същи тип. Това обстоятелство води до следните важни последици:
  • междинни резултати от изчисления, константи и други числа могат да бъдат поставени в същата памет като програмата;
  • цифровата форма на нотацията на програмата позволява на машината да извършва операции върху величините, които кодират инструкциите на програмата.
  • Трудностите на физическата реализация на паметта, чиято скорост би съответствала на скоростта на логическите схеми, изисква йерархична организация на паметта.
  • Аритметичните единици на машината са конструирани на базата на схеми, които изпълняват операцията събиране. Създаването на специални устройства за изчисляване на други операции е непрактично.
  • Машината използва паралелен принцип на организация на изчислителния процес (операциите с думи се извършват едновременно за всички цифри).
  • Обща структура на класически компютър

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


    Ориз. 2.4.Структурата на класическия компютър

    устройство за съхранение (съхранение) , или паметта е колекция от клетки, предназначени да съхраняват някакъв код. На всяка от клетките се присвоява номер, наречен адрес. Информацията, записана в клетка, може да бъде както машинни инструкции, така и данни.

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

    Памет с произволен достъп (RAM) - високоскоростно устройство за съхранение, което работи директно с AU и CU.

    Гуми MPS

    На понятието гума се придават различни значения, когато се разглеждат различни въпроси. В най-простия случай, под понятието гума включват серия от паралелни проводницикоито носят двоична информация. В този случай по всеки проводник се предава отделна двоична цифра. В случай на разглеждане на структурата на компютър се използва концепцията - системна шина(когато се има предвид структурата на микропроцесора, те говорят за вътрешна MP шина) .

    Системна шинае предназначен за обмен на информация на микропроцесора с всякакви вътрешни устройства на микропроцесорната система. Съставът на системната шина на компютъра в зависимост от вида на процесора включва една или повече адресни шини, една или повече информационни шини и контролна шина. В универсалния MPS обикновено се използва на една шина.

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

    MPS екипи

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



    Фиг. 2.5. Формат на командата

    Формат на командата е предварително подредената структура на полетата в неговите кодове, която позволява на компютъра да разпознава съставните части на кода.

    Основният елемент на командния код е код на операцията (COP), той определя какви действия ще бъдат извършени по тази команда. Изпъква под него нцифри от висок ред на формата. Останалите категории са A 1И A 2 -адреси на операнди. A 3- адрес на резултата.

    Дължината на командата зависи от броя на адресните полета. Според броя на адресите командите се разделят на:

    без адрес,

    Едно-, дву-, три-адресни.

    Дължината на кода на инструкцията се измерва в машинни думи.

    За да се сведе до минимум броят на адресните полета, резултатът може да бъде поставен на мястото за съхранение на един от операндите (ДОБАВИ AX, BX ). Или предварително поставете един или повече операнди в специално разпределени процесорни регистри (акумулатори). Освен това в много видове операции (например логически) третият и често вторият адрес изобщо не се използват ( RET, IRET, JE xx, INC AL ). Преведените команди се записват в съседни клетки от паметта в реда, в който се появяват в програмата.

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

    Принципи на работа на компютър според структурата на фон Нойман

    Принципите на работа на компютъра са илюстрирани на фиг. 2.6. На адреса на командата, който се определя от съдържанието на SCHK, се избира дума от съответната RAM клетка, която е следващата команда на програмата и се прехвърля в командния регистър RgK. Част от командата (opcode) се изпраща към LH декодера. След това, в съответствие с CPC, се генерира необходимата последователност от управляващи импулси, която се прилага към онези устройства, които трябва да извършат декодираната операция. Ако COP се отнася до аритметични или логически операции, тези импулси отиват към AU.

    Според адресната част на командата (A 1 - A 3), CU генерира управляващи сигнали за RAM, които осигуряват четене на операнди на адреси A 1 и A 2, изпращането им до AU и записване на резултатите на третия адрес A 3 обратно към RAM. Знаци за резултат (знак, преливане, знак нула и т.н.) uu, където се записват в специален регистър (RP).

    След завършване на тази операция, която се определя от регистъра на състоянието, единица (+1) се добавя към SCHK и в следващия цикъл следващата програмна инструкция ще бъде избрана от RAM по реда на номерата на RAM клетките, и след това този процес ще се повтори.

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

    Характеристики на хардуерно и софтуерно управление на процесите на обработка на информация

    Характерна особеност на традиционната цифрова система е, че алгоритмите за обработка и съхранение на информация в нея са тясно свързани със схемата на системата. Тоест промяната на тези алгоритми е възможна само чрез промяна на структурата на системата, подмяна на електронните компоненти, включени в системата, и/или връзките между тях. Такава цифрова система често се нарича система с "твърда логика". Всяка система, базирана на „твърда логика“, непременно е специализирана система, конфигурирана изключително за една задача или (по-рядко) за няколко близки, предварително известни задачи.

    Това има своите предимства:

    Специализираната система никога няма хардуерно резервиране, тоест всеки от нейните елементи непременно работи в "пълна сила".

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

    В същото време, основен недостатък цифрова система, базирана на "твърда логика", е, че за всяка нова задача тя трябва да бъде проектирана и произведена наново.

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

    Фиг.2.6. Принципи на работа на компютър според структурата на фон Нойман

    Важно предимство на тази система е нейната гъвкавост:

    В същото време има редица недостатъци:

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

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

    Характеристики на внедряването на устройства за компютърно управление

    Въз основа на принципите, обсъдени по-горе, има два начина за изграждане на устройства за генериране на управляващи сигнали (CU): хардуер и софтуер (фърмуер) . Изпълнението на операциите в машината се свежда до елементарни трансформации на информация (прехвърляне на информация между възли в блокове, изместване на информация във възли, логически побитови операции, условия за проверка и др.) В логически елементи, възли и блокове под влияние на функционални управляващи сигнали за управление на блокове (устройства). Елементарни трансформации, неразложими на по-прости, които се извършват по време на един цикъл на синхронизиращи сигнали, се наричат ​​микрооперации.

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

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

    Автоматичното управление на процеса на работа на микропрограмния компютър за решаване на задача се постига на базата на принципа на програмно управление (PPU), който е неговата основна характеристика и се състои в следното:

    1) всяка операция, изпълнявана от устройството, е последователност от елементарни действия - микрооперации;

    2) логически условия се използват за управление на последователността на микрооперациите;

    3) процесът на извършване на операции в устройството се описва под формата на алгоритъм, представен под формата на микрооперации и логически условия, наречен микропрограма;

    4) Фърмуерът отразява функциите на устройството, неговата структура и как устройството работи във времето.

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

    Федерална агенция за образование

    Рособразование

    Архангелски държавен технически университет

    Компютърни системи и телекомуникации

    ТЕСТ

    по дисциплина

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

    Компютърна командна система

    Шевченко Олег Николаевич

    Факултет ONOT, курс 3, група 7261

    Ръководител О.Л. Полончик

    Архангелск 2009 г

    ВЪВЕДЕНИЕ

    ОБЩИ ПОНЯТИЯ

    ФОРМАТ НА КОМАНДИТЕ ЗА ОБРАБОТКА НА ДАННИ

    МЕТОДИ ЗА ПРЯКО ОБРАЩАНЕ

    1 Метод на адресиране на регистъра

    2 Метод на адресиране с автоматично нарастване

    МЕТОДИ ЗА ИНДИРЕКТНО АДРЕСИРАНЕ

    ИЗПОЛЗВАНЕ НА БРОЯЧА НА КОМАНДИ (PC) КАТО RON

    1 Метод на директно адресиране

    2 Абсолютен метод на адресиране

    3 Метод на относително адресиране

    4 Метод на индиректно относително адресиране

    ЗАКЛЮЧЕНИЕ

    БИБЛИОГРАФИЯ

    ВЪВЕДЕНИЕ

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

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

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

    1. ОБЩИ ПОНЯТИЯ

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

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

    Методът за индиректно адресиране предполага, че командата съдържа стойността на индиректния адрес, т.е. адреса на мястото в паметта, където се намира крайният адрес за изпълнение.

    При прилагането на методите за компютърно адресиране основно се използват регистрите на централния процесор (RON). По-нататък ще използваме термина адресен регистър, за да обозначим всеки регистър на процесора, съдържащ адрес.

    2. ФОРМАТ НА КОМАНДИТЕ ЗА ОБРАБОТКА НА ДАННИ

    Форматът на командата е предварително зададена структура от полета в нейните кодове, която позволява на компютъра да разпознава съставните части на кода.

    Инструкциите за обработка на данни могат да уточняват местоположението на един или повече операнди, използвани при изпълнението на определена операция. Дължината на командата зависи от броя на адресните полета. Според броя на адресите командите се разделят на:

    Без адрес

    Unicast, двоен адрес и др

    Обикновено се прави разлика между операнд източник и операнд местоназначение. Операндът източник е съдържанието на клетка от паметта или регистър, който се използва при изпълнение на операцията, посочена в командата, и който не се променя по време на изпълнение на командата. Операндът на приемника е клетка от паметта или RON, чието съдържание може да се използва и при изпълнение на инструкция и в която се поставя резултатът от извършената операция (приемник на резултата). В примерите по-долу местоназначението на източника се обозначава с буквите src или S (източник - източник), а операндът на местоназначение dst или D (дестинация - местоназначение). Командното поле, съдържащо кода на операцията, ще бъде съкратено COP.

    Форматът на unicast командите (HALT, CLR...) е както следва:

    Фигура 1 - Формат на unicast команди

    Битове 15-06 съдържат кода на операцията, който указва инструкцията, която трябва да бъде изпълнена. Битове 05-00 формират шестбитово поле, наречено поле за адрес на операнд местоназначение, което от своя страна се състои от две подполета:

    1) Цифрите 02-00 дефинират един от осемте RON, които тази команда използва;

    2) Цифрите 05-03 определят как да се използва избраният регистър (метод на адресиране). Освен това, бит 03 дефинира директно или непряко адресиране.

    Операциите върху два операнда (като събиране, прехвърляне, сравнение) се извършват с помощта на инструкции, които указват два адреса. Битовете за настройка в адресните полета на операндите източник и дестинация определят методите за адресиране и използваните регистри с общо предназначение. Форматът на двуадресна команда е както следва:

    Фигура 2 - Формат на двуадресна команда

    Полето за адрес на операнд източник се използва за избор на операнд източник. Адресното поле на дестинационния операнд се използва за извличане на дестинационния операнд и съхраняване на резултата. Например, инструкцията ADD A,B добавя съдържанието на клетка "A" (операнд източник) към съдържанието на клетка "B" (операнд местоназначение). След извършване на операцията добавяне клетка "B" ще съдържа резултата от операцията, а съдържанието на клетка "A" няма да се промени.

    3. МЕТОДИ ЗА ДИРЕКТНО АДРЕСИРАНЕ

    Фигура 3 показва последователността от операции за изпълнение на команди с всеки от четирите метода за директно адресиране. При метода за адресиране на регистъра операндът е в избрания регистър, който може да се използва като акумулатор. Тъй като RONs са внедрени хардуерно в CPU IC, те са по-бързи от всяка друга памет, която се контролира от процесора. Това предимство е особено очевидно при операции с променливи, които трябва да бъдат достъпвани често.

    Фигура 3 - методи за директно адресиране

    3.1 Регистър метод за адресиране

    При метода за адресиране на регистъра операндът се намира директно в регистъра, посочен в инструкцията.

    маса 1

    Регистрирайте метод на адресиране


    Действие: 1 се добавя към съдържанието на R3.

    3.2 Метод на адресиране с автоматично нарастване

    При метода на адресиране с автоматично нарастване съдържанието на избрания регистър е адресът на операнда. След като операндът бъде извлечен, съдържанието на този регистър автоматично се увеличава, за да позволи по-нататъшен достъп до следващата клетка. За операции с байт нарастването става с 1, за операции с пълни думи - с 2. Съдържанието на R6, R7 винаги се увеличава с 2. Методът за адресиране с автоматично нарастване е особено удобен за операции с масиви и стекове. С този метод можете да изберете елемент в таблица и след това да увеличите показалеца за достъп до следващия елемент в таблицата. Докато този метод е най-полезен при работа с таблици, той може да се използва като общ метод за различни цели.

    таблица 2

    Метод на адресиране с автоматично нарастване

    3.3 Метод на автоматично намаляване

    Използва се и за обработка на таблични данни. Въпреки това, за разлика от метода на автоматично нарастване, клетките на масива се адресират в обратна посока. При този метод на адресиране съдържанието на избрания RON първо се намалява (за байтови команди - с една, за команди с цели думи - с две), след което се използва като изпълнителен адрес.

    Комбинацията от методи за адресиране с автоматично нарастване и автоматично намаляване може да се използва ефективно при работа със стека.

    Таблица 3

    Метод на адресиране с автоматично намаляване


    Действие: Съдържанието на R0 се намалява с 2 и се използва като адрес за изпълнение. Един се добавя към операнда, избран от клетката на този адрес.

    адресиране на хардуерни команди на архитектурата

    Таблица 3.1

    Метод на адресиране с автоматично намаляване

    3.4 Метод на индексно адресиране

    При метода на индексно адресиране адресът за изпълнение се определя като сбор от съдържанието на избрания RON с индексната дума. Този метод позволява произволен достъп до членовете на структурата от данни. Индексната дума се съдържа в мястото на паметта след командната дума. С метода на индексирано адресиране съдържанието на избран регистър може да се използва като основа за изчисляване на серия от адреси.

    Таблица 4

    Метод на индексно адресиране

    5. МЕТОДИ ЗА ИНДИРЕКТНО АДРЕСИРАНЕ

    Четирите основни метода могат да се използват в комбинация с индиректно адресиране. Ако при регистърния метод съдържанието на избрания регистър е операндът, то при индиректния регистърен метод това съдържание е адресът на операнда. При другите три индиректни метода изчисленият адрес позволява да бъде избран само адресът на операнда, но не и самият операнд. Тези методи се използват при достъп до таблици с адреси, а не до операнди.

    Фигура 4 - методи за индиректно адресиране

    Таблица 5

    Метод на индексно адресиране

    Действие: Съдържанието на клетката, чийто адрес е в R2, се използва като адрес на операнда, операндът се увеличава с единица, а съдържанието на R2 се увеличава с 2.

    Таблица 5.1

    Метод на индексно адресиране

    След операцията

    6. ИЗПОЛЗВАНЕ НА БРОЯЧ НА КОМАНДИ (PC) КАТО RON

    Броячът на инструкции R7 може да се използва с всички методи за адресиране на микрокомпютри. Но най-ефективно се използва само с четири. Тези методи на адресиране са получили специални имена: пряко, абсолютно, относително и косвено - относително. Използването на тези методи прави възможно изграждането на програми, чиято производителност не се губи, когато се преместят в която и да е област на паметта. Таблицата по-долу изброява методите за адресиране, използващи R7. Трябва да се разбере, че тези четири метода са подобни на описаните по-горе, но R7 се използва като ROH. Методите за адресиране с помощта на програмния брояч значително опростяват обработката на данни, които не са формирани в масиви.

    Таблица 6

    Методи за адресиране

    осмичен код

    двоичен код

    Име

    Директен

    Операндът се избира от клетката след контролната дума.

    Абсолютно

    От клетката след контролната дума се избира адресът на операнда.

    Относително

    Операндът се избира от клетката, чийто адрес се определя като сбор от съдържанието на R7 и клетката, следваща контролната дума.

    непряк роднина

    От клетката, чийто адрес се определя като сбор от съдържанието на R7 и клетката след контролната дума, се избира адресът на операнда.

    6.1

    Методът на директно адресиране има символ #N. Това е еквивалентно на метода за автоматично нарастване на адресиране чрез програмния брояч R7. Този метод спестява време на програмиста при писане на програма, като позволява константата да бъде поставена в място в паметта след командната дума.

    Таблица 7

    Метод на директно адресиране


    Действие: Съдържанието на R0 се добавя към числото 10. Резултатът се записва в R0.

    Таблица 7.1

    Метод на директно адресиране


    След като инструкцията бъде извлечена, съдържанието на R7 (адресът на тази инструкция) се увеличава с 2. Така че код 27 се записва в адресното поле на изходния операнд, R7 се използва като адресен указател при извличане на операнда, след което съдържанието му отново се увеличава с 2, за да посочи следващата инструкция.

    6.2 Метод на абсолютно адресиране

    Методът на абсолютно адресиране има символично обозначение @#A. Това е еквивалентно на индиректно адресиране с автоматично нарастване чрез R7. Този метод е удобен, защото адресът на операнда е неговият абсолютен адрес (т.е. той остава постоянен, независимо къде се намира програмата в паметта).

    Таблица 8

    Метод на абсолютна адресация

    6.3 Метод на относително адресиране

    Относителният метод на адресиране има символично обозначение X(PC) или A, където X е адресът за изпълнение по отношение на програмния брояч. Този метод е еквивалентен на индексно адресиране чрез R7. Индексната дума се съхранява в клетката след думата с инструкция и когато се добави към съдържанието на R7, дава адреса на операнда. Този метод е полезен при писане на програма, която може да се намира в различни места в паметта, тъй като адресът на операнда е фиксиран по отношение на съдържанието на R7. Ако е необходимо програмата да се премести в паметта, операндът се премества със същия брой клетки като самата инструкция.

    Таблица 9

    Относителен метод на адресиране


    Действие: "1" се добавя към операнда, чийто адрес се определя чрез добавяне на съдържанието на R7 и индексната дума (000054).

    Таблица 9.1

    Относителен метод на адресиране

    6.4 Метод на индиректно-относително адресиране

    Методът на косвено-относително адресиране се обозначава символично @X(PC) или @A, където X е адресът на клетката, съдържаща адреса за изпълнение по отношение на програмния брояч. Този метод е еквивалентен на непряко - индексно адресиране чрез CK.

    ЗАКЛЮЧЕНИЕ

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

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

    БИБЛИОГРАФИЯ

    1. Таненбаум, Андрю. Компютърна архитектура, Питър, 2007 г.

    2. А.С. Ковал, А.В. Сичев. Архитектура на компютри и системи, Воронеж 2007 г

    Франк Т.С. PDP-11: Архитектура и програмиране, радио и комуникации, 1986 г.

    4. Уикипедия -

    Обработката на информация в компютъра се извършва чрез програмно управление.

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

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

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

     команди за аритметични операции с числа с фиксирана или плаваща запетая;

     команди за десетична аритметика;

     команди за пренос на данни (MOV AX, 0FFFh);

     команди за входно/изходни операции (IN, OUT);

     команди на логически операции (И, ИЛИ, НЕ);

     команди за прехвърляне на управление (контрол на цикъл - LOOP, условни скокове - JAE, JB);

     команди за настройка режима на работа на машината и др.

    Формати на компютърни команди

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

    Като цяло командата се състои от:

     оперативна част (съдържа кода на операцията);

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

    От своя страна, тези части, което е особено характерно за адресната част, могат да се състоят от няколко полета.

    Структура на отборасе определя от състава, предназначението и разположението на полетата в кода.

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

    Важен и сложен проблем в компютърното проектиране е изборът на командна структура и формати, т.е. неговата дължина, предназначение и размери на отделните му полета. Естествено, желанието да се постави в екипа в най-пълна форма информация за операцията, предписана от екипа. Въпреки това, в условията, когато в съвременните компютри броят на различните изпълнявани операции и съответно командите значително се е увеличил (в компютрите с CISC архитектура има повече от 200 команди) и капацитетът на адресируемата основна памет значително се е увеличил (повече от 64). MB), това води до неприемливо дълъг команден формат.

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

    Нека проследим промените в класическите командни структури.

    За да може командата изрично да съдържа цялата необходима информация за определената операция, тя трябва, както е показано на фиг. 1 (b) съдържа следната информация: A1, A2 - адреси на операнди, A3 - адрес на резултата, A4 - адрес на следващата инструкция (принудително адресиране на инструкция).

    Ориз. 1. Командни структури: а) обобщена, б) четириадресна, в) триадресна, г) двуадресна, д) едноадресна, е) безадресна

    Тази структура води до по-дълга инструкция и е неприемлива за директно адресиране на операнди от основната памет. В RISC компютрите инструкциите за четири адреси се използват за адресиране на операнди, съхранявани в паметта на регистъра на процесора.

    Може да се настрои, както е обичайно за повечето машини, че след изпълнение на дадена инструкция, намираща се на адрес K (и заемаща L клетки), се изпълнява инструкцията от (K+L)-та клетка. Този ред на избор на екип се нарича естествен. Нарушава се само със специални команди (контролни трансфери). В този случай не е необходимо изрично да се посочва адресът на следващата инструкция в инструкцията.

    При триадресна команда (фиг. 1, в) първият и вторият адрес показват клетките на паметта, в които се намират операндите, а третият определя клетката, в която се поставя резултатът от операцията.

    Можем да се съгласим, че резултатът от операцията винаги се поставя на мястото на един от операндите, например първият. Ще получим двуадресна команда (фиг. 1, г), т.е. подразбиращият се адрес се използва за резултата.

    В unicast команда (фиг. 1, д) подразбиращите се адреси вече имат както резултата от операцията, така и един от операндите. Един от операндите се обозначава с адреса в инструкцията, вторият е съдържанието на регистъра на процесора, в този случай се нарича резултатен регистър или акумулатор. Резултатът от операцията се записва в същия регистър.

    И накрая, в някои случаи е възможно да се използват безадресни инструкции (фиг. 1, f), когато се подразбират адресите на двата операнда и резултатът от операцията, например при работа със стекова памет.

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



    Продължение на темата:
    Windows

    Наталия Комарова , 28.05.2009 г. (25.03.2018 г.) Когато четете форум или блог, запомняте авторите на публикациите по псевдоним и ... по снимката на потребителя, така наречения аватар ....

    Нови статии
    /
    Популярен