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

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

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

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

2017-10-16 214
Обработка массивов данных с использованием 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.007 с.