Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VOPROS_K_EKZAMYeNU_PO_INFORMATIKYe (Автосохране....doc
Скачиваний:
14
Добавлен:
17.04.2019
Размер:
738.3 Кб
Скачать

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

Адресное пространство — это просто диапазон адресов, обозначающих определенное место в памяти. Адресные пространства подразделяются на три разновидности:

  • Физическое адресное пространство

  • Линейное адресное пространство

  • Логическое адресное пространство, известное также как виртуальное адресное пространство

(Многие считают адреса ввода/вывода четвертым типом адресного пространства, но в этой книге они не рассматриваются.)

Физические адреса — это реальные, аппаратные адреса, доступные в системе. Если в системе имеется 64 Мб памяти, в ней допустимые физические адреса могут находиться в диапазоне от 0 до 0x3fffffff (в шестнадцатиричном формате). Каждый адрес соответствует одному набору транзисторов в микросхемах SIMM, установленных вами (или изготовителем), и отдельному сочетанию сигналов на адресной шине процессора.

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

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

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

 Одна из функций процессора состоит в перемещении данных, в организации их обмена с внешними устройствами и оперативной памятью. При этом процессор формирует код устройства а, а для ОЗУ – адрес ячейки памяти. Код адреса передается по адресной шине. Объем физически адресуемой микропроцессором оперативной памяти называется его адресным пространством. Он определяется разрядностью внешней шины адреса. Действительно, пусть разрядность адресной шины, тогда количество различных двоичных чисел, которые можно по ней передать, равно 2N. Известно, что число, передаваемое по адресной шине при обращении процессора к оперативной памяти, есть адрес ячейки ОЗУ (ее порядковый номер). Значит, 2N -- это количество ячеек оперативной памяти которым, используя адресную шину, может обратиться (адресоваться) процессор, то есть 2N -- объем адресного пространства процессора. Следовательно, при 16-, 20-, 24- или 32-разрядной шине адреса создается адресное пространство соответственно 216 = 64Кбайта, 220= 1 Мбайт, 224 = 16 Мбайт, 232 = 4 Гбайта. Поэтому разрядность процессора часто уточняют, записывая, например для i80386 -- 32/32, что означает: МП имеет 32-разрядную шину данных и 32-разрядную шину адреса, то есть одновременно обрабатывает 32 бита информации, а объем адресного пространства микропроцессора составляет 232 = 4 Гбайта.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]