A címzés egy eszközre vagy adatelemre mutató hivatkozás (hivatkozás) megvalósítása annak címén [1] ; megfeleltetés létrehozása azonos típusú objektumok halmaza és címeik halmaza között; objektum helyének azonosításának módszere [2] .
Az utasítás nem tartalmazhat kifejezett utasításokat az operandusról ; ebben az esetben az operandust az utasítás műveleti kódja feltételezi és ténylegesen meghatározza.
Az utasítás nem tartalmazhat kifejezett utalást a műveletben részt vevő operandus címére, vagy arra a címre, amelyre a művelet eredményét el kell helyezni, de ez a cím beleértendő.
Az utasítás nem az operandus címét tartalmazza, hanem magát az operandust. Közvetlen címzés esetén nincs szükség memória-hozzáférésre az operandus és a tárolására szolgáló memóriahely lekéréséhez. Ez segít csökkenteni a program végrehajtási idejét és az általa elfoglalt memória mennyiségét. A közvetlen címzés kényelmes különféle konstansok tárolására.
A cím közvetlenül valamilyen értékként van megadva, minden cella egy oldalon található. Ennek a módszernek az az előnye, hogy a legegyszerűbb, hátránya pedig az, hogy a processzor általános célú regisztereinek szélessége legalább akkora legyen, mint a processzor címbuszának szélessége .
Ezzel a címzési módszerrel a végrehajtási címet az utasítás címkódjának és az alapcímnek az összegeként határozzuk meg, amelyet általában egy speciális regiszterben - az alapregiszterben - tárolnak.
A relatív címzés lehetővé teszi bármely memóriacellához való hozzáférést, ha az utasítás címkódja kisebb. Ehhez az alapregiszterben úgy kell megválasztani a bitek számát, hogy a főmemória bármelyik cellája megcímezhető legyen, és az utasítás címkódja csak egy viszonylag rövid "eltolást" ábrázol. Az eltolás határozza meg az operandus pozícióját az alapcím által megadott tömb elejéhez képest.
A vezérlőszó címmezője csak a megcímzett cella legkevésbé jelentős bitjeit tartalmazza. Kiegészítő indexregiszter .
A regisztercímzés a rövidített címzés speciális esete. Akkor használatos, ha a köztes eredményeket a központi processzor valamelyik munkaregiszterében tárolják. Mivel sokkal kevesebb a regiszter, mint a memóriacellák, egy kis címmező is elegendő lehet a címzéshez.
A MESM -en való programozás során először alkalmazták a 2. rangú ( mutatók ) indirekt címzését [3] . A "0" operandus cím értékű parancshoz hozzáadva annak a memóriacellának az értékét, amelyben a szükséges operandus címe található, lehetővé tette, hogy ezeket a memóriacellákat címértékként használjuk, azaz. operandus címekre mutat .
A magasabb rangú közvetett címzést először az Address programozási nyelvben vezették be (1955) [4] [5] , és a "Kiev" számítógép hardverében valósították meg [6] . A "Kiev" számítógép parancsrendszerében van egy F-művelet, amely lehetővé teszi a cím rangjának csökkentését, azaz. "kötőjel művelet" végrehajtása vagy mutató hivatkozásának megszüntetése , és a csoportcím-módosítási műveletek [5] [6] lehetővé tették a mutatók többszöri indirekt irányítását hardverben.
A parancs címkódja ebben az esetben nem az adatokkal ellátott címet jelöli, hanem annak a memóriacellának a címét, amelyben az operandus vagy parancs címe található. Ez 2. rangú címzés vagy mutató . Az indirekt címzést széles körben használják kis- és mikroszámítógépekben, amelyek rövid gépi szóval rendelkeznek, hogy leküzdjék a rövid utasításformátum korlátait (a regisztrált és a közvetett címzés együtt használatos).
Az adatfeldolgozásra tervezett számítástechnikai rendszerek hatékonysága növekszik, ha változó hosszúságú szavakkal is lehet műveleteket végrehajtani. Ebben az esetben a gép változó hosszúságú szavak címzését tudja biztosítani, amit általában úgy valósítanak meg, hogy az utasításban megadják a szó elejének helyét és hosszát a memóriában.
A veremmemória , amely az operandusok cím nélküli hozzárendelését valósítja meg, különösen széles körben használatos mikroprocesszorokban és miniszámítógépekben .
Mivel a regiszter közvetett címzése megköveteli, hogy a regiszter előre be legyen töltve egy közvetett címmel a RAM-ból, ami időveszteséggel jár, ez a fajta címzés különösen hatékony egy adattömb feldolgozásakor, ha van olyan mechanizmus, amely automatikusan növeli vagy csökkenti a a regiszter tartalmát minden alkalommal, amikor hozzáférnek. Ezt a mechanizmust automatikus növelésnek, illetve automatikus csökkentésnek nevezik. Ebben az esetben elegendő az első feldolgozás alatt álló tömbelem címét egyszer betölteni a regiszterbe, majd minden alkalommal, amikor a regiszterhez hozzáférünk, a következő tömbelem címe alakul ki benne.
Az automatikus növekményes címzésnél a regiszter tartalmát először az operandus címeként használjuk, majd a tömbelemben lévő bájtok számával növeljük. Az automatikus csökkentési címzésnél a parancsban megadott regiszter tartalma először a tömbelem bájtjainak számával csökken, majd az operandus címeként kerül felhasználásra.
Az automatikus növelés és automatikus csökkentés címzése az indexelés egyszerűsített változatának tekinthető, a parancsok címrészeinek konvertálásának és a számítási ciklusok szervezésének nagyon fontos mechanizmusa, ezért gyakran autoindexelésnek is nevezik.
A számítógéppel megvalósított matematikai problémák megoldási és adatfeldolgozási módszerekre jellemző a számítási folyamatok ciklikussága, amikor ugyanazokat az eljárásokat a memóriában rendezett különböző operandusokon hajtják végre. Mivel a ciklusismétlések során feldolgozott operandusok különböző címekkel rendelkeznek, indexelés nélkül minden ismétlésnek meg kell alkotnia a saját utasítássorozatát, amely címrészekben különbözik.
A ciklusok programozása nagymértékben leegyszerűsödik, ha a ciklus minden egyes végrehajtása után a címrészeik megfelelő parancsaiban automatikusan módosul a feldolgozott operandusok memóriájában elfoglalt helye. Az ilyen folyamatot utasításmódosításnak nevezik, és az utasításkódokon aritmetikai és logikai műveletek végrehajtásának képességén alapul.
Az operációs rendszerek szempontjai | |||||
---|---|---|---|---|---|
| |||||
Típusok |
| ||||
Sejtmag |
| ||||
Folyamatmenedzsment _ |
| ||||
Memóriakezelés és címzés | |||||
Betöltési és inicializálási eszközök | |||||
Héj | |||||
Egyéb | |||||
Kategória Wikimedia Commons Wikikönyvek Wikiszótár |