Какво е набор от инструкции?

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

Операционни кодове

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

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

След като инструкцията бъде декодирана, тя ще бъде изпълнена. Точното поведение на процесора ще зависи от операцията. Операция за добавяне ще сумира две стойности заедно. Операция за прескачане ще изчисли къде в програмата да скочи. Операцията за сравнение ще сравни две стойности. Операция NOP ще остане неактивна, тъй като NOP означава Без операция.

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

Незаконни кодове за операции

Всяка CPU архитектура има свой специфичен списък с кодове за операции, публикуван от производителя. Стойностите на тези кодове за операции не са непременно еднакви за различни платформи, поради което софтуерът трябва да бъде компилиран за различни архитектури. В някои случаи производителят включва и недокументирани кодове за операции. Те се наричат ​​„незаконни кодове за операции“. Незаконните кодове за операции, макар и недокументирани, ще изпълняват една и съща функция всеки път, когато бъдат извикани. Като недокументирани и нестандартни функции обаче актуализациите на архитектурата на процесора могат просто да ги премахнат.

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

Наборът от инструкции x86 съдържа голям брой недокументирани незаконни операционни кодове. Интересното е, че някои от тях се споделят между процесорите на Intel и AMD, което показва, че и двете компании са публично запознати с тяхната цел, докато не са документирани.

Компилатори и асемблиране

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

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

Заключение

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

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


Leave a Comment

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Држењето на вашите 3D принтери е многу важно за добивање на најдобри резултати. Еве некои важни совети за да се освежите.

5 Причини Защо Вашият Лаптоп Прегрява

5 Причини Защо Вашият Лаптоп Прегрява

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

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Поддържането на вашето оборудване в добро състояние е задължително. Ето някои полезни съвети, за да поддържате 3D принтера си в отлично състояние.

Как да намерите IP адреса на принтера

Как да намерите IP адреса на принтера

Имаме решение за вас как да откриете IP адреса на вашия принтер, ако имате проблеми с това.

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Ако вашите Powerbeats Pro не се зареждат, използвайте друг източник на захранване и почистете слушалките. Оставете кутията отворена, докато зареждате слушалките.

Как да използвате AirPods с телефони Samsung

Как да използвате AirPods с телефони Samsung

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

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

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

Canon Pixma MG5220: Сканирайте без мастило

Canon Pixma MG5220: Сканирайте без мастило

Как да активирате сканирането на Canon Pixma MG5220, когато мастилото е свършило.

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

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

Току-що ли купихте SSD в надеждата да обновите вътрешната памет на компютър си, но не знаете как да инсталирате SSD? Прочетете тази статия сега!

Как да поправите грешка GeForce Now с код 0xC272008F

Как да поправите грешка GeForce Now с код 0xC272008F

Настройвате се за вечер на игри и тя ще бъде голяма – току-що закупихте "Star Wars Outlaws" в стрийминг услугата GeForce Now. Открийте единственото известно решение, което показва как да поправите грешката GeForce Now с код 0xC272008F, за да можете отново да започнете да играете игри на Ubisoft.