Обработка массивов данных с использованием — КиберПедия 

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Обработка массивов данных с использованием

2017-10-16 218
Обработка массивов данных с использованием 0.00 из 5.00 0 оценок
Заказать работу

Относительной адресации с индексированием

И косвенной регистровой адресации

Для перебора элементов массива данных при его обработке могут быть применены следующие способы адресации: косвенная регистровая совместно с автоинкрементной (автодекрементной) и относительная с индексированием. Использование того или иного способа зависит от форматов данных, обрабатываемых процессором, адресацией данных в ОЗУ. Наиболее просто эта задача решается первым способом. Автоинкрементная адресация самостоятельного значения не имеет, но эффективно применяется совместно с регистровой, обеспечивая автоувеличение содержимого РОН, указанного в адресном поле команды, на единицу. Автодекрементный способ выполняет те же задачи, но уменьшает
 
 

содержимое РОН на единицу. Из выше сказанного вытекает, что адреса элементов массива должны отличаться на «1».

 

На рис. 67 представлен массив а0, а1, а2 … данных в ОЗУ, который циклически обрабатывается одним и тем же участком программы.

Процессор должен выполнить следующую процедуру РОН[R]:=РОН[R]+1. В следующем цикле работы программы процессор выберет элемент а1 из следующей ячейки ОЗУ. Это отражено в ниже приведенной таблице.

 

  РОН[R] Данные Следующий адрес
1ц. α а0 α+1
2ц. α+1 а1 α+2
3ц. α +2 а2 α +3

 

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

Если процессор обрабатывает данные переменной длины, то необходимо применять более универсальный инструмент модификации адреса элементов массива.

Предположим, что процессор работает с данными разрядностью в 2, 4 и 6 байтов; в ОЗУ адресуется каждый байт. Тогда при обработке массива, состоящего из 2-х байтных слов, адреса элементов будут различаться на 2; для 4-х байтных слов – на 4; для 6-ти байтных слов – на 6. То есть приращение адреса в этих случаях отличается от единицы. Относительная адресация с индексированием позволяет решить эту задачу.

На рис. 68 показано размещение в ОЗУ слов размером в 2, 4 и 6 байт. Если массив данных имеет разрядность слов по 6 байт, то значение индекса в каждом цикле должно увеличиваться на 6. В исходном состоянии в РОН[X] записывается код нуля, а в поле D адрес первого байта первого элемента массива (α). Далее в каждом следующем цикле (смотри таблицу) индекс будет приобретать значения 6, 12, 18 и т.д.

 

Рис. 68

 

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

 

  Текущее значение индекса РОН[X] Следующее значение индекса POH[X]+ Δ АИСП
1ц.   0+ Δ=6 0+ α→ α
2ц.   6+ Δ=12 6+ α
3ц.   12+ Δ=18 12+ α

Пример организации процессора,


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.006 с.