Википедия

Адресация памяти

Адресация — осуществление ссылки (обращение) к устройству или элементу данных по его адресу; установление соответствия между множеством однотипных объектов и множеством их адресов; метод идентификации местоположения объекта.

Методы адресации

Адресное пространство

  • Простая (англ. flat addressing) — указание объекта с помощью идентификатора или числа, не имеющего внутренней структуры.
  • Расширенная (англ. extended addressing) — доступ к запоминающему устройству с адресным пространством, бо́льшим диапазоном адресов, предусмотренного форматом команды.
  • Виртуальная (англ. virtual addressing) — принцип, при котором каждая программа рассматривается как ограниченное непрерывное поле логической памяти, а адреса этого поля — как виртуальные адреса.
  • Ассоциативная (англ. associative addressing) — точное местоположение данных не указывается, а задаётся значение определённого поля данных, идентифицирующее эти данные (см.: Ассоциативная память).

Исполнение программ

  • Статическая (англ. static addressing) — соответствие между виртуальными и физическими адресами устанавливается до начала и не меняется в ходе выполнения программы.
  • Динамическая (англ. dynamic addressing) — преобразование виртуальных адресов в физические осуществляется в процессе выполнения программы. Программа при этом не зависит от места размещения в физической памяти и может перемещаться в ней в процессе выполнения.

Кодирование адресов

  • Явная (англ. explicit addressing) — адресация путём явного задания адресов в программе.
  • Неявная (англ. implied addressing) — один или несколько операндов или адресов операндов находятся в фиксированных для данной команды регистрах или ячейках памяти и не требуют явного указания в команде.
  • Абсолютная (англ. absolute addressing) — адресная часть команды содержит абсолютный адрес.
  • Символическая (англ. symbolic addressing) — адресная часть команды содержит символический адрес.

Вычисление адресов

  • Непосредственная, прямая (англ. immediate (direct) addressing) — адресная часть команды содержит непосредственный (прямой) адрес; адресация путём указания прямых адресов.
  • Косвенная (англ. indirect addressing) — адресная часть команды содержит косвенный адрес; адресация посредством косвенных адресов.
  • Регистровая (англ. register addressing) — задание адресов операндов в регистрах.
  • Базисная (англ. basic addressing) — вычисление адресов в машинных командах относительно содержимого регистра, указанного в качестве базового.
  • Базовая (англ. base-displacement addressing) — схема вычисления исполнительного адреса, при которой этот адрес является суммой базового адреса и смещения.
  • Относительная (англ. relative addressing) — адресная часть команды содержит относительный адрес.
  • Индексная (англ. indexed addressing) — формирование исполнительного адреса осуществляется путём добавления к базовому адресу содержимого индексного регистра.
    • Автодекрементная, автоинкрементная (англ. autodecremental, autoincremental addressing) — содержимое регистра индекса изменяется (уменьшается или увеличивается) на некоторое число.
    • Постдекрементная, предекрементная, постинкрементная, преинкрементная — автодекрементные и автоинкрементные адресации, при которых уменьшение/увеличение происходит после/до выборки операнда.
  • Стековая (англ. stack addressing) — адресация посредством регистра — указателя стека.
  • Самоопределяющаяся (англ. self-relative addressing) — адресная часть команды содержит самоопределяющийся адрес.
    • Адресация относительно счётчика команд (англ. program counter relative addressing) — адреса в команде указываются в виде разности исполнительных адресов и адреса исполняемой команды. Такой способ адресации не требует настройки (см. также: Позиционно-независимый код).

Способы адресации

Подразумеваемый операнд

В команде может не содержаться явных указаний об операнде; в этом случае операнд подразумевается и фактически задается кодом операции команды.

Подразумеваемый адрес

В команде может не содержаться явных указаний об адресе участвующего в операции операнда или адреса, по которому должен быть размещен результат операции, но этот адрес подразумевается.

Непосредственная адресация

В команде содержится не адрес операнда, а непосредственно сам операнд. При непосредственной адресации не требуется обращения к памяти для выборки операнда и ячейки памяти для его хранения. Это способствует уменьшению времени выполнения программы и занимаемого ею объёма памяти. Непосредственная адресация удобна для хранения различного рода констант.

Прямая адресация

Адрес указывается непосредственно в виде некоторого значения, все ячейки располагаются на одной странице. Преимущество этого способа в том, что он самый простой, а недостаток — в том, что разрядность регистров общего назначения процессора должна быть не меньше разрядности шины адреса процессора.

image

Относительная (базовая) адресация

При этом способе адресации исполнительный адрес определяется как сумма адресного кода команды и базового адреса, как правило хранящегося в специальном регистре — регистре базы.

Относительная адресация позволяет при меньшей длине адресного кода команды обеспечить доступ к любой ячейке памяти. Для этого число разрядов в базовом регистре выбирают таким, чтобы можно было адресовать любую ячейку оперативной памяти, а адресный код команды используют для представления лишь сравнительно короткого «смещения». Смещение определяет положение операнда относительно начала массива, задаваемого базовым адресом.

Укороченная адресация

В адресном поле командного слова содержатся только младшие разряды адресуемой ячейки. Дополнительный указательный регистр.

  • Адресация с регистром страницы является примером сокращённой адресации. При этом вся память разбивается на блоки-страницы. Размер страницы диктуется длиной адресного поля.

Регистровая адресация

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

Косвенная адресация

Впервые косвенная адресация 2-го ранга (указатели) была использована при программировании на МЭСМ. Добавление к команде со значением адреса операнда "0" значения ячейки памяти, в котором находится адрес требуемого операнда, позволило использовать эти ячейки памяти в качестве значений адресов, т.е. указателей на адреса операндов.

Косвенная адресация высших рангов впервые была введена в Адресном языки программирования (1955г.) и апаратно реализована в компьютере "Киев". В системе команд компьютера "Киев" есть Ф-операция, которая позволяет уменьшать ранг адреса, т.е. выполнять "штрих-операцию" или разыменовывать указатель, а групповые операции модификации адресов позволяли аппаратно выполнять многократное разыменование указателей (Multiple indirection of Pointers).

Адресный код команды в этом случае указывает не адрес с данными, а адрес ячейки памяти, в которой находится адрес операнда или команды. Это и есть адресация 2-го ранга или указатели. Косвенная адресация широко используется в малых и микроЭВМ, имеющих короткое машинное слово, для преодоления ограничений короткого формата команды (совместно используются регистровая и косвенная адресация).

Адресация слов переменной длины

Эффективность вычислительных систем, предназначенных для обработки данных, повышается, если имеется возможность выполнять операции со словами переменной длины. В этом случае в машине может быть предусмотрена адресация слов переменной длины, которая обычно реализуется путём указания в команде местоположения в памяти начала слова и его длины.

Стековая адресация

Стековая память, реализующая безадресное задание операндов, особенно широко используется в микропроцессорах и Мини-ЭВМ.

Автоинкрементная и автодекрементная адресации

Поскольку регистровая косвенная адресация требует предварительной загрузки регистра косвенным адресом из оперативной памяти, что связано с потерей времени, такой тип адресации особенно эффективен при обработке массива данных, если имеется механизм автоматического приращения или уменьшения содержимого регистра при каждом обращении к нему. Такой механизм называется соответственно автоинкрементной и автодекрементной адресацией. В этом случае достаточно один раз загрузить в регистр адрес первого обрабатываемого элемента массива, а затем при каждом обращении к регистру в нём будет формироваться адрес следующего элемента массива.

При автоинкрементной адресации сначала содержимое регистра используется как адрес операнда, а затем получает приращение, равное числу байт в элементе массива. При автодекрементной адресации сначала содержимое указанного в команде регистра уменьшается на число байт в элементе массива, а затем используется как адрес операнда.

Автоинкрементная и автодекрементная адресации могут рассматриваться как упрощенный вариант индексации — весьма важного механизма преобразования адресных частей команд и организации вычислительных циклов, поэтому их часто называют автоиндексацией.

Индексная адресация

Для реализуемых на ЭВМ методов решения математических задач и обработки данных характерна цикличность вычислительных процессов, когда одни и те же процедуры выполняются над различными операндами, упорядоченно расположенными в памяти. Поскольку операнды, обрабатываемые при повторениях цикла, имеют разные адреса, без использования индексации требовалось бы для каждого повторения составлять свою последовательность команд, отличающихся адресными частями.

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

См. также

  • Адрес (информатика)
  • Страничная память
  • Сегментная адресация памяти
  • Блок управления памятью

Примечания

  1. СТ ИСО 2382/7-77 // Вычислительная техника. Терминология: Справочное пособие. Выпуск 1 / Рецензент канд. техн. наук Ю. П. Селиванов. — М.: Издательство стандартов, 1989. — 168 с. — 55 000 экз. — ISBN 5-7050-0155-X.
  2. Першиков В. И., Савинков В. М. Толковый словарь по информатике / Рецензенты: канд. физ.-мат. наук А. С. Марков и д-р физ.-мат. наук И. В. Поттосин. — М.: Финансы и статистика, 1991. — 543 с. — 50 000 экз. — ISBN 5-279-00367-0.
  3. Лебедев, С.А. Малая электронная счетная машина : [рус.] / С.А. Лебедев, Л.Н. Дашевський, Е.А. Шкабара. — Москва : Академия наук СССР, 1952. — P. 162. Архивная копия от 23 июля 2021 на Wayback Machine Источник. Дата обращения: 23 июля 2021. Архивировано 23 июля 2021 года.
  4. Alvaro Videla. Kateryna L. Yushchenko — Inventor of Pointers (англ.). Medium (8 декабря 2018). Дата обращения: 23 июля 2021. Архивировано 23 сентября 2020 года.
  5. Ющенко, Е.Л. Адресное программирование : [рус.]. — Киев : Гос. издательство технической литературы, УРСР, 1963. — P. 288.
  6. Глушков, В. М. Вычислительная машина «Киев»: математическое описание. : [рус.] / В. М. Глушков, Е. Л. Ющенко. — Техн. лит., 1962. — 183 с..

Литература

  • Ю. М. Казаринов. Микропроцессоры в радиотехнических системах.

Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Адресация памяти, Что такое Адресация памяти? Что означает Адресация памяти?

Adresaciya osushestvlenie ssylki obrashenie k ustrojstvu ili elementu dannyh po ego adresu ustanovlenie sootvetstviya mezhdu mnozhestvom odnotipnyh obektov i mnozhestvom ih adresov metod identifikacii mestopolozheniya obekta Metody adresaciiAdresnoe prostranstvo Prostaya angl flat addressing ukazanie obekta s pomoshyu identifikatora ili chisla ne imeyushego vnutrennej struktury Rasshirennaya angl extended addressing dostup k zapominayushemu ustrojstvu s adresnym prostranstvom bo lshim diapazonom adresov predusmotrennogo formatom komandy Virtualnaya angl virtual addressing princip pri kotorom kazhdaya programma rassmatrivaetsya kak ogranichennoe nepreryvnoe pole logicheskoj pamyati a adresa etogo polya kak virtualnye adresa Associativnaya angl associative addressing tochnoe mestopolozhenie dannyh ne ukazyvaetsya a zadayotsya znachenie opredelyonnogo polya dannyh identificiruyushee eti dannye sm Associativnaya pamyat Ispolnenie programm Staticheskaya angl static addressing sootvetstvie mezhdu virtualnymi i fizicheskimi adresami ustanavlivaetsya do nachala i ne menyaetsya v hode vypolneniya programmy Dinamicheskaya angl dynamic addressing preobrazovanie virtualnyh adresov v fizicheskie osushestvlyaetsya v processe vypolneniya programmy Programma pri etom ne zavisit ot mesta razmesheniya v fizicheskoj pamyati i mozhet peremeshatsya v nej v processe vypolneniya Kodirovanie adresov Yavnaya angl explicit addressing adresaciya putyom yavnogo zadaniya adresov v programme Neyavnaya angl implied addressing odin ili neskolko operandov ili adresov operandov nahodyatsya v fiksirovannyh dlya dannoj komandy registrah ili yachejkah pamyati i ne trebuyut yavnogo ukazaniya v komande Absolyutnaya angl absolute addressing adresnaya chast komandy soderzhit absolyutnyj adres Simvolicheskaya angl symbolic addressing adresnaya chast komandy soderzhit simvolicheskij adres Vychislenie adresov Neposredstvennaya pryamaya angl immediate direct addressing adresnaya chast komandy soderzhit neposredstvennyj pryamoj adres adresaciya putyom ukazaniya pryamyh adresov Kosvennaya angl indirect addressing adresnaya chast komandy soderzhit kosvennyj adres adresaciya posredstvom kosvennyh adresov Registrovaya angl register addressing zadanie adresov operandov v registrah Bazisnaya angl basic addressing vychislenie adresov v mashinnyh komandah otnositelno soderzhimogo registra ukazannogo v kachestve bazovogo Bazovaya angl base displacement addressing shema vychisleniya ispolnitelnogo adresa pri kotoroj etot adres yavlyaetsya summoj bazovogo adresa i smesheniya Otnositelnaya angl relative addressing adresnaya chast komandy soderzhit otnositelnyj adres Indeksnaya angl indexed addressing formirovanie ispolnitelnogo adresa osushestvlyaetsya putyom dobavleniya k bazovomu adresu soderzhimogo indeksnogo registra Avtodekrementnaya avtoinkrementnaya angl autodecremental autoincremental addressing soderzhimoe registra indeksa izmenyaetsya umenshaetsya ili uvelichivaetsya na nekotoroe chislo Postdekrementnaya predekrementnaya postinkrementnaya preinkrementnaya avtodekrementnye i avtoinkrementnye adresacii pri kotoryh umenshenie uvelichenie proishodit posle do vyborki operanda Stekovaya angl stack addressing adresaciya posredstvom registra ukazatelya steka Samoopredelyayushayasya angl self relative addressing adresnaya chast komandy soderzhit samoopredelyayushijsya adres Adresaciya otnositelno schyotchika komand angl program counter relative addressing adresa v komande ukazyvayutsya v vide raznosti ispolnitelnyh adresov i adresa ispolnyaemoj komandy Takoj sposob adresacii ne trebuet nastrojki sm takzhe Pozicionno nezavisimyj kod Sposoby adresaciiPodrazumevaemyj operand V komande mozhet ne soderzhatsya yavnyh ukazanij ob operande v etom sluchae operand podrazumevaetsya i fakticheski zadaetsya kodom operacii komandy Podrazumevaemyj adres V komande mozhet ne soderzhatsya yavnyh ukazanij ob adrese uchastvuyushego v operacii operanda ili adresa po kotoromu dolzhen byt razmeshen rezultat operacii no etot adres podrazumevaetsya Neposredstvennaya adresaciya V komande soderzhitsya ne adres operanda a neposredstvenno sam operand Pri neposredstvennoj adresacii ne trebuetsya obrasheniya k pamyati dlya vyborki operanda i yachejki pamyati dlya ego hraneniya Eto sposobstvuet umensheniyu vremeni vypolneniya programmy i zanimaemogo eyu obyoma pamyati Neposredstvennaya adresaciya udobna dlya hraneniya razlichnogo roda konstant Pryamaya adresaciya Adres ukazyvaetsya neposredstvenno v vide nekotorogo znacheniya vse yachejki raspolagayutsya na odnoj stranice Preimushestvo etogo sposoba v tom chto on samyj prostoj a nedostatok v tom chto razryadnost registrov obshego naznacheniya processora dolzhna byt ne menshe razryadnosti shiny adresa processora Otnositelnaya bazovaya adresaciya Pri etom sposobe adresacii ispolnitelnyj adres opredelyaetsya kak summa adresnogo koda komandy i bazovogo adresa kak pravilo hranyashegosya v specialnom registre registre bazy Otnositelnaya adresaciya pozvolyaet pri menshej dline adresnogo koda komandy obespechit dostup k lyuboj yachejke pamyati Dlya etogo chislo razryadov v bazovom registre vybirayut takim chtoby mozhno bylo adresovat lyubuyu yachejku operativnoj pamyati a adresnyj kod komandy ispolzuyut dlya predstavleniya lish sravnitelno korotkogo smesheniya Smeshenie opredelyaet polozhenie operanda otnositelno nachala massiva zadavaemogo bazovym adresom Ukorochennaya adresaciya V adresnom pole komandnogo slova soderzhatsya tolko mladshie razryady adresuemoj yachejki Dopolnitelnyj ukazatelnyj registr Adresaciya s registrom stranicy yavlyaetsya primerom sokrashyonnoj adresacii Pri etom vsya pamyat razbivaetsya na bloki stranicy Razmer stranicy diktuetsya dlinoj adresnogo polya Registrovaya adresaciya Registrovaya adresaciya yavlyaetsya chastnym sluchaem ukorochennoj Primenyaetsya kogda promezhutochnye rezultaty hranyatsya v odnom iz rabochih registrov centralnogo processora Poskolku registrov znachitelno menshe chem yacheek pamyati to nebolshogo adresnogo polya mozhet hvatit dlya adresacii Kosvennaya adresaciya Vpervye kosvennaya adresaciya 2 go ranga ukazateli byla ispolzovana pri programmirovanii na MESM Dobavlenie k komande so znacheniem adresa operanda 0 znacheniya yachejki pamyati v kotorom nahoditsya adres trebuemogo operanda pozvolilo ispolzovat eti yachejki pamyati v kachestve znachenij adresov t e ukazatelej na adresa operandov Kosvennaya adresaciya vysshih rangov vpervye byla vvedena v Adresnom yazyki programmirovaniya 1955g i aparatno realizovana v kompyutere Kiev V sisteme komand kompyutera Kiev est F operaciya kotoraya pozvolyaet umenshat rang adresa t e vypolnyat shtrih operaciyu ili razymenovyvat ukazatel a gruppovye operacii modifikacii adresov pozvolyali apparatno vypolnyat mnogokratnoe razymenovanie ukazatelej Multiple indirection of Pointers Adresnyj kod komandy v etom sluchae ukazyvaet ne adres s dannymi a adres yachejki pamyati v kotoroj nahoditsya adres operanda ili komandy Eto i est adresaciya 2 go ranga ili ukazateli Kosvennaya adresaciya shiroko ispolzuetsya v malyh i mikroEVM imeyushih korotkoe mashinnoe slovo dlya preodoleniya ogranichenij korotkogo formata komandy sovmestno ispolzuyutsya registrovaya i kosvennaya adresaciya Adresaciya slov peremennoj dliny Effektivnost vychislitelnyh sistem prednaznachennyh dlya obrabotki dannyh povyshaetsya esli imeetsya vozmozhnost vypolnyat operacii so slovami peremennoj dliny V etom sluchae v mashine mozhet byt predusmotrena adresaciya slov peremennoj dliny kotoraya obychno realizuetsya putyom ukazaniya v komande mestopolozheniya v pamyati nachala slova i ego dliny Stekovaya adresaciya Stekovaya pamyat realizuyushaya bezadresnoe zadanie operandov osobenno shiroko ispolzuetsya v mikroprocessorah i Mini EVM Avtoinkrementnaya i avtodekrementnaya adresacii Poskolku registrovaya kosvennaya adresaciya trebuet predvaritelnoj zagruzki registra kosvennym adresom iz operativnoj pamyati chto svyazano s poterej vremeni takoj tip adresacii osobenno effektiven pri obrabotke massiva dannyh esli imeetsya mehanizm avtomaticheskogo prirasheniya ili umensheniya soderzhimogo registra pri kazhdom obrashenii k nemu Takoj mehanizm nazyvaetsya sootvetstvenno avtoinkrementnoj i avtodekrementnoj adresaciej V etom sluchae dostatochno odin raz zagruzit v registr adres pervogo obrabatyvaemogo elementa massiva a zatem pri kazhdom obrashenii k registru v nyom budet formirovatsya adres sleduyushego elementa massiva Pri avtoinkrementnoj adresacii snachala soderzhimoe registra ispolzuetsya kak adres operanda a zatem poluchaet prirashenie ravnoe chislu bajt v elemente massiva Pri avtodekrementnoj adresacii snachala soderzhimoe ukazannogo v komande registra umenshaetsya na chislo bajt v elemente massiva a zatem ispolzuetsya kak adres operanda Avtoinkrementnaya i avtodekrementnaya adresacii mogut rassmatrivatsya kak uproshennyj variant indeksacii vesma vazhnogo mehanizma preobrazovaniya adresnyh chastej komand i organizacii vychislitelnyh ciklov poetomu ih chasto nazyvayut avtoindeksaciej Indeksnaya adresaciya Dlya realizuemyh na EVM metodov resheniya matematicheskih zadach i obrabotki dannyh harakterna ciklichnost vychislitelnyh processov kogda odni i te zhe procedury vypolnyayutsya nad razlichnymi operandami uporyadochenno raspolozhennymi v pamyati Poskolku operandy obrabatyvaemye pri povtoreniyah cikla imeyut raznye adresa bez ispolzovaniya indeksacii trebovalos by dlya kazhdogo povtoreniya sostavlyat svoyu posledovatelnost komand otlichayushihsya adresnymi chastyami Programmirovanie ciklov sushestvenno uproshaetsya esli posle kazhdogo vypolneniya cikla obespecheno avtomaticheskoe izmenenie v sootvetstvuyushih komandah ih adresnyh chastej soglasno raspolozheniyu v pamyati obrabatyvaemyh operandov Takoj process nazyvaetsya modifikaciej komand i osnovan na vozmozhnosti vypolneniya nad kodami komand arifmeticheskih i logicheskih operacij Sm takzheAdres informatika Stranichnaya pamyat Segmentnaya adresaciya pamyati Blok upravleniya pamyatyuPrimechaniyaST ISO 2382 7 77 Vychislitelnaya tehnika Terminologiya Spravochnoe posobie Vypusk 1 Recenzent kand tehn nauk Yu P Selivanov M Izdatelstvo standartov 1989 168 s 55 000 ekz ISBN 5 7050 0155 X Pershikov V I Savinkov V M Tolkovyj slovar po informatike Recenzenty kand fiz mat nauk A S Markov i d r fiz mat nauk I V Pottosin M Finansy i statistika 1991 543 s 50 000 ekz ISBN 5 279 00367 0 Lebedev S A Malaya elektronnaya schetnaya mashina rus S A Lebedev L N Dashevskij E A Shkabara Moskva Akademiya nauk SSSR 1952 P 162 Arhivnaya kopiya ot 23 iyulya 2021 na Wayback Machine Istochnik neopr Data obrasheniya 23 iyulya 2021 Arhivirovano 23 iyulya 2021 goda Alvaro Videla Kateryna L Yushchenko Inventor of Pointers angl Medium 8 dekabrya 2018 Data obrasheniya 23 iyulya 2021 Arhivirovano 23 sentyabrya 2020 goda Yushenko E L Adresnoe programmirovanie rus Kiev Gos izdatelstvo tehnicheskoj literatury URSR 1963 P 288 Glushkov V M Vychislitelnaya mashina Kiev matematicheskoe opisanie rus V M Glushkov E L Yushenko Tehn lit 1962 183 s LiteraturaYu M Kazarinov Mikroprocessory v radiotehnicheskih sistemah

NiNa.Az

NiNa.Az - Абсолютно бесплатная система, которая делится для вас информацией и контентом 24 часа в сутки.
Взгляните
Закрыто