Opkód

Az opkód azonosítja, hogy az utasításkészletben melyik alapvető számítógépes műveletet kell végrehajtani. Ezt a gépi kód írásakor használják. Azt mondja a számítógépnek, hogy csináljon valamit. Minden gépi nyelvi utasításnak általában van egy opkódja és operandusai. Az opcode olyan, mint egy mondatban az ige, az operandusok pedig olyanok, mint a mondat alanya. Az operandusok jellemzően memória- vagy nyilvántartási címek.

Az opkódokat a gépi kódban számos funkcióra használják, például a regiszterek float összeadására, a regiszterek kettes komplementer összeadására, a regiszterértékek memóriába vagy merevlemezre történő átvitelére, a program leállítására stb. A modern számítógépekben használt gyakori opkódok száma szó szerint több száz.

A számítógépek architektúrájának jellegéből adódóan az opkódok bináris számok formájában jelennek meg. Alternatívaként az opkódok hexadecimális számjegyekkel is ábrázolhatók (például 10100101 = A5), ami megkönnyíti az olvasást és a kódolást egy gépi kódú program tervezésekor vagy emulálásakor. Ezeket az értékeket ezután a mentéshez bináris megfelelőjükké alakítják át. A modern opkódok legalább két hexa karakter hosszúságúak, amelyek 1 bájtnyi tárhelyet foglalnak el.

Az opkódok képessége és "értéke" attól függően változik, hogy melyik számítógéphez tartoznak, mivel hardverfüggőek. Például a STORE műveleti kódja Hex-ben kifejezve lehet FA az egyik gépen és 02 egy másik gépen. Néhány opkód nem lesz elérhető egyes számítógépeken. Általánosságban kétféle megközelítés létezik az utasításkészletek felépítésére. A csökkentett utasításkészletű számítógép (RISC) kevesebb lehetséges opkódot kínál az egyszerűbb folyamatok sebességének növelése érdekében. A komplex utasításkészletű számítógép (CISC) több opkódot kínál a sebesség növelése érdekében az összetett folyamatok esetében.

Az opkódokat a programozók ritkán használják közvetlenül. Ha közvetlenül a memóriába programozzák őket, akkor mindig csak azon a számítógépen garantáltan működnek, amelyre tervezték őket. Amikor a programozók assembly nyelven írnak, egy fordítóprogram egy az egyben átalakítja a program utasításait gépi nyelvi parancsokká. A programozónak a bináris érték helyett csak egy mnemonikát kell megjegyeznie minden egyes opkódhoz. Alternatív megoldásként egy magas szintű programozási nyelvet is lehet használni, mondjuk a 4. generációs nyelvet, amelyet átkonvertálnak 3. generációs nyelvvé, és így tovább, amíg el nem érik az 1. generációs nyelvet. Innentől kezdve az egyes számítógép a programot gépi kóddá alakítja, amikor a programfájlt beolvassa. Így egy program sokkal többféle számítógépen működhet.

Kérdések és válaszok

K: Mi az az opkód?


V: Az opkód egy bináris szám, amely azonosítja, hogy az utasításkészletben melyik alapvető számítógépes műveletet kell végrehajtani. Ezt a gépi kód írásakor használják, és megmondja a számítógépnek, hogy mit kell tennie.

K: Mik az operandusok?


V: Az operandusok általában memória- vagy nyilvántartási címek, amelyek egy gépi nyelvi utasításban az opkódot kísérik. Úgy lehet rájuk gondolni, mint egy mondat alanyára, míg az opkód úgy viselkedik, mint egy ige.

K: Hány gyakori opkódot használnak a modern számítógépek?


V: A modern számítógépekben több száz gyakori opkódot alkalmaznak.

K: Hogyan ábrázolják az opkódokat?


V: Az opkódokat bináris számokkal vagy hexadecimális számjegyekkel lehet ábrázolni, hogy a gépi kódú program tervezésekor vagy emulálásakor könnyebb legyen az olvasás és a kódolás.

K: Milyen hosszúak a modern opkódok?


V: A modern opkódok legalább két hexa karakter hosszúak, és 1 bájtnyi tárhelyet foglalnak el.

K: Mi a RISC és a CISC?


V: A Reduced Instruction Set Computing (RISC) kevesebb lehetséges opkódot kínál az egyszerű folyamatok sebességének növelése érdekében, míg a Complex Instruction Set Computing (CISC) több opkódot kínál az összetett folyamatok sebességének növelése érdekében.

K: Hogyan használják általában a programozók az opkódokat?


V: A programozók ritkán használnak közvetlen programozást a memóriába egy adott számítógép egyedi utasításkészletével; ehelyett assembly nyelven vagy magas szintű programozási nyelveken írnak programokat, amelyeket a programfájl beolvasásakor gépi kóddá alakítanak át, hogy az többféle számítógépen is működhessen.

AlegsaOnline.com - 2020 / 2023 - License CC3