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

Нумерация полей памяти



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

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

Нумерация бит и байт может производиться или со старших разрядов, или с младших разрядов (рис. 2.2).

Нумерация бит и байт со старших разрядов (рис. 2.2a)

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

        Номера байт  
    0 7 Номера бит  
    Байт Байт  
    0 7 8 15 Номера бит  
    Старший байт Младший байт Слово  
  0 7 8 15 16 23 24 31 Номера бит  
  Старший байт     Младший байт Двойное слово  
  а) нумерация бит и байт со старших разрядов к младшим
        Номера байт  
  7 0 Номера бит  
    Байт Байт  
    15 8 7 0 Номера бит  
    Старший байт Младший байт Слово  
  31 24 23 16 15 8 7 0 Номера бит  
  Старший байт     Младший байт Двойное слово  
  b) нумерация бит и байт с младших разрядов к старшим
  Рис.2.2. Структуры данных и нумерации бит и байт.
                                               

Нумерация бит и байт с младших разрядов (рис. 2.2 b)

При использовании нумерации бит и байт в многобайтном слове с младших разрядов, при последовательном выборе из памяти объекты на обработку поступают с младших байт и младшими разрядами "вперед". Это нумерация с младших разрядов. Распространение такой нумерации началось с появлением и микропроцессоров. При последовательной (бит за битом) обработке цифровых данных для простейших арифметических операций (сложение/вычитание) это обеспечивало выигрыш в аппаратных средствах. Кроме того, при такой нумерации возрастание номеров бит совпадает с возрастанием их разрядных весов.

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

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

Для примера рассмотрим запись двухбайтовых слов (рис. 2.3.). В этом примере в словарной памяти записана строка начальных символов английского алфавита в виде последовательности двухбайтовых объектов – слов (по два символа в слове). При переносе последовательности символов из памяти с нумерацией с младших разрядов в регистр с нумерацией со старших разрядов происходит перестановка байт в каждом слове.

Адреса слов Старшие байты в слове Младшие байты в слове  
Нечетные адреса байтов Содержимое байтов Четные адреса байтов Содержимое байтов  
    a   b Слово ab
    c   d Слово cd
Структуры словарной памяти с нумерацией байт с младших разрядов
Адреса байт          
  b a d c  
  Многобайтовый регистр  
Рис 2.3. Пример передачи могобайтового поля из памяти с нумерацией с младших разрядов в регистр с нумерацией со старших разрядов
                 

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

Адреса слов Старшие байты в слове Младшие байты в слове  
Нечетные адреса байтов Содержимое байтов Четные адреса байтов Содержимое байтов  
    a   b Слово ab
    c   d Слово cd
Структуры словарной памяти с нумерацией байт с младших разрядов
Адреса байт          
  c d a b  
  Многобайтовый регистр  
Рис 2.3. Пример передачи могобайтового поля из памяти с нумерацией с младших разрядов в регистр с нумерацией со старших разрядов
                   

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

Например, в архитектуре PA-RISC корпорации HP (Hewlett Packard) предусмотрен такой программно управляемый обмен данными. Упорядочение байтов (к старшим или к младшим адресам) при записи и чтении определяется битом E в слове состояния процессора (PSW).

При Е = 0 загрузка многобайтного объекта упорядочивается, по терминологии фирмы, "к старшим адресам". При этом младший байт в памяти соответствует старшему байту в регистре (левая нумерация).

При Е = 1 загрузка многобайтного объекта упорядочивается "к младшим адресам". При этом младший байт в памяти соответствует младшему байту в регистре (правая нумерация).

Для этой же цели в МП Intel (начиная с 486) используется команда SWAP перестановки байт в регистре. Команда переставляет байты в четырех байтном регистре (первый байт с четвертым и второй байт с третьим).

Вопросы для самопроверки:

1. Адресная память.

2. Ассоциативная память.

3. Стековая память.

4. Использование в МП Intel регистра EBP – указателя базы (кадра) стека.

5. Математическая память.

6. Сегментированная память.

7. Функции диспетчера памяти.

8. Основные адресные пространства ЭВМ.

9. Байтовая ориентация памяти.

10. Расположение программного объекта в целочисленных границах.

11. Основные проблемы расположения программных объектов в нецелочисленных границах.

12. Адресация многобайтовых объектов в памяти.

13. Основные преимущества обратной нумерации байт в многобайтных программных объектах.

14. Основные недостатки обратной нумерации байт в многобайтных программных объектах.





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



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