~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 80E1161831381434BC03FE3819527A33__1695827880 ✰
Заголовок документа оригинал.:
✰ Memory address - Wikipedia ✰
Заголовок документа перевод.:
✰ Адрес памяти — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Memory_address ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/80/33/80e1161831381434bc03fe3819527a33.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/80/33/80e1161831381434bc03fe3819527a33__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 08:32:09 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 27 September 2023, at 18:18 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Адрес памяти — Википедия Jump to content

Адрес памяти

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

В вычислениях адрес памяти — это ссылка на конкретную ячейку памяти , используемую на различных уровнях программным и аппаратным обеспечением . [1] фиксированной длины, которые Адреса памяти представляют собой последовательности цифр обычно отображаются и обрабатываются как без знака целые числа . Такая числовая семантика основана на особенностях ЦП (таких как указатель команд и регистры инкрементального адреса ), а также на использовании памяти как массива , поддерживаемого различными языками программирования .

Типы [ править ]

Физические адреса [ править ]

из состоит цифрового компьютера Основная память множества ячеек памяти . Каждая ячейка памяти имеет физический адрес , который является кодом. ЦП (или другое устройство) может использовать код для доступа к соответствующей ячейке памяти. Обычно только системное программное обеспечение , то есть BIOS , операционные системы и некоторые специализированные служебные программы (например, тестеры памяти машинного кода ), обращаются к физической памяти с помощью операндов или регистров процессора , инструктируя ЦП направить аппаратное устройство, называемое контроллером памяти , на используйте шину памяти или системную шину или отдельные шины управления , адреса и данных для выполнения команд программы. контроллеров памяти Шина состоит из ряда параллельных линий, каждая из которых представлена ​​двоичной цифрой (битом). Ширина шины и, следовательно, количество адресных единиц хранения и количество битов в каждой единице различаются в зависимости от компьютера.

Логические адреса [ править ]

Компьютерная программа использует адреса памяти для выполнения машинного кода , а также для хранения и извлечения данных . На ранних компьютерах логические и физические адреса совпадали, но с появлением виртуальной памяти большинство прикладных программ не знают физических адресов. Скорее, они обращаются к логическим адресам или виртуальным адресам компьютера , используя блок управления памятью и операционной системы отображение памяти ; см . ниже .

Единица разрешения адреса [ править ]

Большинство современных компьютеров имеют байтовую адресацию . Каждый адрес идентифицирует один байт ( восемь бит ) памяти. Данные размером более одного байта могут храниться в последовательности последовательных адресов. Существуют компьютеры с пословной адресацией процессора , где минимальной адресной единицей хранения является именно слово . Например, Data General Nova миникомпьютер , а также Texas Instruments TMS9900 и National Semiconductor IMP-16 микрокомпьютеры использовали 16-битные слова , а также существовало множество 36-битных мэйнфреймов (например, PDP-10 ), которые использовали 18-битную адресацию слов . не байтовая адресация , давая адресное пространство 2 18 36-битные слова, примерно 1 мегабайт памяти. Эффективность адресации памяти зависит от разрядности используемой для адресов шины – чем больше бит используется, тем больше адресов доступно компьютеру. Например, машина с 8-битной байтовой адресацией и 20-битной адресной шиной (например, Intel 8086 ) может адресовать 2 20 (1 048 576) ячеек памяти или один МБ памяти, а 32-битная шина (например, Intel 80386 ) адресует 2 32 (4 294 967 296) мест или адресное пространство размером 4 ГиБ . Напротив, 36-битная машина с пословной адресацией и 18-битной адресной шиной адресует только 2 18 (262 144) 36-битных ячеек (9 437 184 бита), что эквивалентно 1 179 648 8-битным байтам, или 1152 КиБ , или 1,125 МБ — немного больше, чем 8086.

Некоторые старые компьютеры ( десятичные компьютеры ) десятичную адресацию имели . Например, каждый адрес в 1620 IBM памяти на магнитном сердечнике идентифицировал одну шестибитовую десятичную цифру в двоичном коде, состоящую из бита четности , бита флага и четырех числовых битов. В 1620 использовались пятизначные десятичные адреса, поэтому теоретически максимально возможный адрес был 99 999. На практике ЦП поддерживал 20 000 ячеек памяти, и можно было добавить до двух дополнительных внешних модулей памяти, каждый из которых поддерживал 20 000 адресов, всего 60 000 (00000–59999).

Размер слова в зависимости адреса от размера

Размер слова — это характеристика компьютерной архитектуры , обозначающая количество битов, которые процессор может обрабатывать одновременно. Современные процессоры, включая встроенные системы , обычно имеют размер слова 8, 16, 24, 32 или 64 бита; большинство современных компьютеров общего назначения используют 32 или 64 бита. Исторически использовалось множество разных размеров, в том числе 8, 9, 10, 12, 18, 24, 36, 39, 40, 48 и 60 бит.

Очень часто, говоря о размере слова современного компьютера, подразумевают также размер адресного пространства на этом компьютере. Например, компьютер, называемый « 32-битным », также обычно допускает 32-битные адреса памяти; 32-битный компьютер с байтовой адресацией может адресовать 2 32 = 4 294 967 296 байт памяти или 4 гибибайта (ГиБ). Это позволяет эффективно хранить один адрес памяти в одном слове.

Однако это не всегда соответствует действительности. Компьютеры могут иметь адреса памяти больше или меньше размера их слова. Например, многие 8-битные процессоры, такие как MOS Technology 6502 , поддерживали 16-битные адреса — в противном случае они были бы ограничены всего лишь 256 байтами адресации памяти. 16-битные процессоры Intel 8088 и Intel 8086 поддерживали 20-битную адресацию посредством сегментации , что позволяло им получать доступ к 1 МиБ, а не к 64 КиБ памяти. Все Intel Pentium процессоры , начиная с Pentium Pro, включают расширения физических адресов (PAE), которые поддерживают сопоставление 36-битных физических адресов с 32-битными виртуальными адресами. Многие ранние процессоры содержали 2 адреса на слово , например, 36-битные процессоры.

Теоретически современные 64-битные компьютеры с побайтовой адресацией могут адресовать 2 64 байт (16 эксбибайт ), но на практике объем памяти ограничен процессором, контроллером памяти или конструкцией печатной платы (например, количеством разъемов физической памяти или объемом припаянной памяти).

Содержимое каждой ячейки памяти [ править ]

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

Некоторые ранние программисты объединяли инструкции и данные в слова, чтобы сэкономить память, когда это было дорого: в 40-битных словах Manchester Mark 1 было место для хранения небольших битов данных — его процессор игнорировал небольшой участок в середине слово – и это часто использовалось как дополнительное хранилище данных. [ нужна цитата ] Самовоспроизводящиеся программы, такие как вирусы, иногда рассматривают себя как данные, а иногда как инструкции. Самомодифицирующийся код в настоящее время, как правило, устарел , поскольку он делает тестирование и обслуживание непропорционально трудным для экономии нескольких байтов, а также может давать неправильные результаты из-за предположений компилятора или процессора о состоянии машины , но все же иногда используется намеренно. с большой осторожностью.

Адресное пространство в программировании приложений [ править ]

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

Некоторые части адресного пространства могут вообще не отображаться.

Некоторые системы имеют «разделенную» архитектуру памяти , где машинный код, константы и данные находятся в разных местах и ​​могут иметь разные размеры адресов. Например, микроконтроллеры PIC18 имеют 21-битный программный счетчик для адресации машинного кода и констант во флэш-памяти, а также 12-битные адресные регистры для адресации данных в SRAM.

Схемы адресации [ править ]

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

Сопоставление логических адресов с физической и виртуальной памятью также добавляет несколько уровней косвенности; см. ниже.

Модели памяти [ править ]

Многие программисты предпочитают обращаться к памяти так, чтобы не было различия между пространством кода и пространством данных (см. выше ), а также между физической и виртуальной памятью (см. выше ) — иными словами, численно одинаковые указатели относятся к совершенно одному и тому же байту. БАРАН.

Однако многие ранние компьютеры не поддерживали такую ​​модель плоской памяти — в частности, машины с гарвардской архитектурой заставляют хранить программы полностью отдельно от хранилища данных. Многие современные DSP (например, Motorola 56000 ) имеют три отдельные области хранения — хранилище программ, хранилище коэффициентов и хранилище данных. Некоторые часто используемые инструкции извлекаются из всех трех областей одновременно — меньшее количество областей хранения (даже если общее количество байтов памяти одинаковое) приведет к замедлению выполнения этих инструкций.

Модели памяти в архитектуре x86 [ править ]

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

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

См. также [ править ]

Ссылки [ править ]

  1. ^ Абрахамсон, Карл Р. (20 августа 2022 г.). «5.10.1. Память и адреса памяти» . Университет Восточной Каролины . Проверено 3 февраля 2023 г.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 80E1161831381434BC03FE3819527A33__1695827880
URL1:https://en.wikipedia.org/wiki/Memory_address
Заголовок, (Title) документа по адресу, URL1:
Memory address - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)