stringtranslate.com

Плоская модель памяти

Плоская модель памяти или линейная модель памяти относится к парадигме адресации памяти , в которой « память представляется программе как единое непрерывное адресное пространство ». [1] Процессор может напрямую (и линейно ) обращаться ко всем доступным ячейкам памяти , не прибегая к каким-либо схемам переключения банков , сегментации памяти или страничного обмена .

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

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

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

Модели памяти

Большинство современных моделей памяти попадают в одну из трех категорий:

Плоская модель невыгружаемой памяти

Модель страничной памяти

модель сегментированной памяти x86

В архитектурах x86 при работе в реальном режиме (или эмуляции) физический адрес вычисляется как: [2]

Адрес = 16 × сегмент + смещение

(То есть 16-битный сегментный регистр сдвигается влево на 4 бита и добавляется к 16-битному смещению, в результате чего получается 20-битный адрес.)

Смотрите также

Ссылки

  1. ^ Гонсалес, Антонио; Латорре, Фернандо; Магклис, Григориос (2011). Микроархитектура процессора: перспективы реализации. Morgan & Claypool Publishers. стр. 72. ISBN 9781608454525.
  2. ^ Общее описание реального режима «Физический адрес может быть вычислен как Value_in_segment_register
    • 16 + Значение_в_регистре_смещения."