Kas yra instrukcijų rinkinys?

Bet kuris procesorius yra sukurtas nuo pat pradžių, kad palaikytų tam tikrą instrukcijų rinkinį. Instrukcijų rinkinys yra sunkiai užkoduotų operacijų, kurias gali atlikti CPU, rinkinys. Šios operacijos gali būti, pavyzdžiui, dviejų skaičių sudėjimas, perėjimas į kitą programos dalį arba dviejų reikšmių palyginimas. Kiekviena operacija, kurią gali atlikti kompiuteris, yra unikaliai vaizduojama opkodais.

Opcodes

Vykdydamas programą, CPU naudoja programos skaitiklį, kad sektų, kurią komandą reikia atlikti toliau. Kai gaunama instrukcija, programos skaitiklis padidinamas komandos ilgiu, kad jis nurodytų kitos komandos pradžią. Kiekviena instrukcija susideda iš operacijos kodo. Priklausomai nuo instrukcijos, joje gali būti operandų arba ne. Operandai gali būti pastovi reikšmė arba rodyklė į reikšmės vietą procesoriaus registre arba sistemos RAM.

Kai bus gauta visa instrukcija, ją reikia iššifruoti. Tai procesas, kurio metu centrinis procesorius atskiria opkodą ir visus operandus. Dekoduotas opkodas naudojamas norint įjungti arba išjungti konkrečius centrinio procesoriaus elektros kelius, kurie užtikrins tinkamą veikimą.

Kai instrukcija bus iššifruota, ji bus vykdoma. Tikslus procesoriaus elgesys priklausys nuo operacijos. Sudėjimo operacija susumuoja dvi reikšmes. Peršokimo operacija apskaičiuos, į kurią programos vietą reikia pereiti. Lyginimo operacija palygins dvi vertes. NOP operacija bus neaktyvi, nes NOP reiškia No Operation.

Tada dauguma instrukcijų išves operacijos rezultatą. Ši išvestis gali patekti į procesoriaus registrus ir, jei reikia, į sistemos RAM. Kiekvienai iš šių operacijų reikia vieno laikrodžio ciklo.

Neteisėti opkodai

Kiekviena procesoriaus architektūra turi specialų gamintojo paskelbtų operacijų kodų sąrašą. Šių operacijų kodų reikšmės nebūtinai yra tos pačios kelių platformų, todėl programinę įrangą reikia kompiliuoti skirtingoms architektūroms. Kai kuriais atvejais gamintojas taip pat įtraukia nedokumentuotus operacijų kodus. Tai vadinama „neteisėtais operacijų kodais“. Neteisėti operacijų kodai, nors ir nedokumentuoti, atliks tą pačią funkciją kiekvieną kartą, kai jie bus iškviesti. Tačiau kaip nedokumentuotas ir nestandartines funkcijas, procesoriaus architektūros atnaujinimai gali jas tiesiog pašalinti.

Kai kurie ankstyvieji „Apple II“ kompiuteriniai žaidimai rėmėsi konkrečiais neteisėtais kodais. Vėliau jie patyrė našumo ir stabilumo problemų dėl vėlesnės „Apple IIc“ procesoriaus versijos, nes „IIc“ pašalino neteisėtus žaidimų kodus. Neteisėti operacijų kodai taip pat buvo naudojami autorių teisių apsaugos sluoksniuose kaip saugumo metodas, nes jie buvo neaiškūs kovojant su piratais, nulaužiančiais jų turinį. Kai kurie neteisėti operacijų kodai yra tiesiog skirti kaip derinimo įrankiai ir klaidų tvarkyklės.

x86 instrukcijų rinkinyje yra daug nedokumentuotų nelegalių operacijų kodų. Įdomu tai, kad kai kuriuos iš jų dalijasi „Intel“ ir AMD procesoriai, o tai rodo, kad abi bendrovės viešai žino savo paskirtį, nors ir neturi dokumentų.

Kompiliatoriai ir asamblėja

Dauguma programų parašytos aukšto lygio kalbomis. Juos gana lengva perskaityti, dažnai naudojami angliški žodžiai arba trumpiniai, siekiant sumažinti mokymosi kreives. Kad kompiuteris galėtų vykdyti šias programas, jas reikia sukompiliuoti. Kompiliatorius iš esmės yra vertėjas. Jis paima aukšto lygio kodą ir paverčia jį kompiuterio kodu – instrukcijomis, kurias gali suprasti procesorius.

Taip pat kai kuriomis kalbomis galima paleisti nesukompiliuotą kodą naudojant anksčiau sukompiliuotą programą, kuri generuoja mašininį kodą. „Assembly“ yra žemo lygio programavimo kalba, kuri naudoja santrumpas, kad kūrėjai galėtų tiesiogiai matyti ir kontroliuoti atliekamas operacijas. NOP yra surinkimo stenografijos pavyzdys.

Išvada

Instrukcijų rinkinys yra oficialių funkcijų, kurias gali vykdyti procesoriaus architektūra, sąrašas. Tai yra operacijų, kurias galima atlikti, sąrašas. Šios operacijos yra užkoduotos CPU ir iškviečiamos naudojant atitinkamus operacijų kodus.

Paprastai programinė įranga naudoja kompiliatorių, kad iš žmonėms skaitomo aukšto lygio kodo išverstų į mašininį kodą, kurį gali nuskaityti CPU. Kartais procesoriaus architektūra gali turėti nelegalių operacijų kodų, vadinamų nelegaliais. Neteisėti operacijų kodai techniškai yra instrukcijų rinkinio dalis. Tačiau jie gali būti nepatikimai pasiekiami būsimose platformos iteracijose. Nepamirškite palikti savo minčių toliau pateiktuose komentaruose.


Kaip klonuoti standųjį diską

Kaip klonuoti standųjį diską

Šiuolaikiniame skaitmeniniame amžiuje, kai duomenys yra vertingas turtas, kietojo disko klonavimas sistemoje „Windows“ daugeliui gali būti labai svarbus procesas. Šis išsamus vadovas

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Ar paleidžiant kompiuterį matote klaidos pranešimą, kuriame rašoma, kad tvarkyklės WUDFRd nepavyko įkelti į kompiuterį?

Kaip ištaisyti „NVIDIA GeForce Experience“ klaidos kodą 0x0003

Kaip ištaisyti „NVIDIA GeForce Experience“ klaidos kodą 0x0003

Ar jūsų darbalaukyje yra NVIDIA GeForce patirties klaidos kodas 0x0003? Jei taip, perskaitykite tinklaraštį, kad sužinotumėte, kaip greitai ir paprastai ištaisyti šią klaidą.

Kas yra SMPS?

Kas yra SMPS?

Prieš rinkdamiesi SMPS savo kompiuteriui, sužinokite, kas yra SMPS ir ką reiškia skirtingi efektyvumo rodikliai.

Kas yra izoliacija pagrįstas saugumas?

Kas yra izoliacija pagrįstas saugumas?

Ketinau įsigilinti į temą, kuri tampa vis svarbesnė kibernetinio saugumo pasaulyje: izoliacija pagrįstas saugumas. Šis požiūris į

Kaip naudoti „Auto Clicker“, skirtą „Chromebook“.

Kaip naudoti „Auto Clicker“, skirtą „Chromebook“.

Šiandien ketinome įsigilinti į įrankį, kuris gali automatizuoti pasikartojančias spustelėjimo užduotis jūsų „Chromebook“ įrenginyje: automatinį spustelėjimą. Šis įrankis gali sutaupyti laiko ir

Roomba sustoja, sustoja ir apsisuka – pataisykite

Roomba sustoja, sustoja ir apsisuka – pataisykite

Išspręskite problemą, kai Roomba robotas siurblys sustoja, prilimpa ir vis sukasi.

Kodėl „Chromebook“ neįsijungia

Kodėl „Chromebook“ neįsijungia

Gaukite atsakymus į klausimą, kodėl „Chromebook“ neįsijungia? Šiame naudingame „Chromebook“ naudotojams skirtame vadove.

Kaip pakeisti grafikos nustatymus „Steam Deck“.

Kaip pakeisti grafikos nustatymus „Steam Deck“.

„Steam Deck“ siūlo tvirtą ir įvairiapusę žaidimo patirtį, kuri yra jūsų rankose. Tačiau norėdami optimizuoti savo žaidimus ir užtikrinti geriausią įmanomą

Kaip pakeisti laikrodžio ciferblatą „Fitbit Versa 4“.

Kaip pakeisti laikrodžio ciferblatą „Fitbit Versa 4“.

Pakeiskite savo Fitbit Versa 4 laikrodžio ciferblatą, kad kasdien nemokamai atrodytumėte kitaip. Pažiūrėkite, kaip tai greita ir paprasta.