Memória címzés

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2018. február 6-án felülvizsgált verziótól ; az ellenőrzések 6 szerkesztést igényelnek .

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] .

Címzési módszerek [2]

Címterület

Program végrehajtás

Címkódolás

Címszámítás

Címzési módszerek

Implikált operandus

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.

A tervezett cím

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ő.

Közvetlen címzés

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.

Közvetlen címzés

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 .

Relatív (alap)címzés

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.

Parancsikon címzés

A vezérlőszó címmezője csak a megcímzett cella legkevésbé jelentős bitjeit tartalmazza. Kiegészítő indexregiszter .

Regisztrálás címzése

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.

Közvetett címzés

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).

Változó hosszúságú szócímzés

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.

Veremcímzés

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 .

Címzés automatikus növelése és automatikus csökkentése

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.

Indexcímzés

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.

Lásd még

Jegyzetek

  1. ST ISO 2382/7-77 // Számítástechnika. Terminológia: kézikönyv. 1. szám / Lektor Ph.D. tech. Tudományok Yu. P. Selivanov. - M . : Szabványok Kiadója, 1989. - 168 p. - 55.000 példány.  — ISBN 5-7050-0155-X .
  2. 1 2 Pershikov V.I., Savinkov V.M. Informatikai magyarázó szótár / Lektorok: Ph.D. Fiz.-Matek. Sci. A. S. Markov és Dr. Phys.-Math. Tudományok I. V. Pottosin. - M. : Pénzügy és statisztika, 1991. - 543 p. — 50.000 példány.  - ISBN 5-279-00367-0 .
  3. Lebegyev, S.A. Kis elektronikus számológép  : [ rus. ]  / S.A. Lebegyev, L.N. Dashevsky, E.A. Shkabara. - Moszkva: A Szovjetunió Tudományos Akadémiája, 1952. - P. 162. 2021. július 23-i archivált példány a Wayback Machine -nél
  4. Alvaro Videla. Kateryna L. Juscsenko –  a mutatók feltalálója Közepes (2018. december 8.). Letöltve: 2021. július 23. Az eredetiből archiválva : 2020. szeptember 23.
  5. ↑ 1 2 Juscsenko, E.L. Cím programozás: [ rus. ] . - Kijev: Állam. szakirodalmi kiadó, URSR, 1963. - 288. o.
  6. 1 2 Glushkov, V. M. Computer "Kiev": matematikai leírás. : [ rus. ]  / V. M. Glushkov, E. L. Juscsenko. — Techn. lit., 1962. - 183 p.

Irodalom