Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Адресация памяти. Адресное пространство памятипредставляет собой последовательность байтов



Адресное пространство памяти представляет собой последовательность байтов. Исторически сложилось так, что первые машины имели адресную шину из 16 линий (16-разрядную), которая позволяла адресоваться к объему памяти до 216=64 Кб. Позже адресная шина ПК стала состоять из 20 линий. 20 бит позволяли адресоваться к 220=1 Мб, но сами машины продолжали оставаться 16-разрядными. На этом этапе память была разбита на сегменты по 64 Кб (сегментирована). И когда в программе адресовались к памяти, то указывали номер сегмента (его адрес) и смещение внутри сегмента от его начала.

На выходе из системной шины появилось устройство формирования адреса, а в процессоре появился сегментный регистр.

Сегмент – участок памяти длиной 64 Кб, который может начинаться только с адреса, кратного 16 (т. е. 0, 16, 32, 48 и т. д.). Фрагмент памяти в 16 байт называется параграфом (говорят, что сегмент всегда выровнен на начало параграфа). Смещение – указывает, сколько байт от начала сегмента нужно отступить, чтобы обратиться к нужному адресу.

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

С появлением 32-разрядных машин сегментирования памяти не стало, но форма записи сохранилась.

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





Дата публикования: 2014-10-25; Прочитано: 331 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...