Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Индексация

Характерным моментом в процессе переработки информации в ЭВМ является цикличность вычислительных процессов, при которых одни и те же операции могут выполняться над различными операндами, расположенными упорядоченно в памяти (т.е. над элементами некоторых информационных массивов). На рис. 5.19 в качестве простого примера показан одномерный массив данных, в котором подлежащие обработке операнды a0, a1 … ak-1 расположены последовательно, со сдвигом на q ячеек. Для обработки элементов такого массива необходимо, чтобы исполнительные адреса команд, вызывающих эти элементы, изменялись при каждой итерации цикла. Как уже отмечалось, для этой цели можно использовать механизм косвенной адресации, что, однако, требует относительно больших временных затрат.

Для предотвращения подобных потерь времени в современных ЭВМ используется механизм автоматического изменения исполнительных адресов соответствующих команд согласно расположению в ОП обрабатываемых операндов. Такой процесс называется модификацией исполнительных адресов команд (в некоторых источниках – модификацией адресных частей команд). Кроме того, этот механизм позволяет на аппаратном уровне реализовать команды управления вычислительным циклом, т.е. обеспечить необходимое количество итераций цикла с последующим выходом из него. Упрощенный алгоритм функционирования этого механизма поясняется схемой на рис. 5.19.

 

 

 

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

· По числу итераций цикла, т.е. по содержимому некоторого счетчика, изменяемому на 1 при каждой новой итерации цикла.

· Путем задания некоторого предела для изменения модифицируемого исполнительного адреса.

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

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

 
 

Для выполнения индексации в ЭВМ вводят индексные регистры, в качестве которых могут использоваться либо регистры внутренней памяти процессора, либо внешние по отношению к нему специальные быстродействующие регистры. В некоторых ЭВМ предусмотрена возможность, при определенных условиях, в качестве индексных регистров использовать ячейки ОП. В общем случае при использовании механизма индексации в АК команды выделяют три поля: B – номер базового регистра, D – смещение, X – номер индексного регистра.

 

Исполнительный адрес при индексации формируется путем сложения смещения (D), содержимого индексного регистра (I), а при наличии базирования – и базового адреса (АБ). Именно этот характерный

случай показан на рис. 5.20.

В ряде случаев базовые и индексные регистры назначаются программистом из некоторого общего массива регистровой памяти. Операция получения АИ выполняется либо в АЛУ процессора, либо в специальном сумматоре блока индексной арифметики, что повышает быстродействие ЭВМ, но и увеличивает объем оборудования.

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

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

· засылка в соответствующий индексный регистр начального значения ин­декса;

· изменение индекса;

· проверка окончания циклических вычислений.

Очень коротко рассмотрим последние два типа команд.

Изменение индекса состоит в сложении (вычитании) значения индекса с фиксированным приращением, производимым каждый раз при повторении цикла. Команда изменения индекса указывает номер индексного регистра, а также значение и знак (либо адрес) приращения. Если приращение всегда фиксировано и равно, например, 1 или L (длина слова в байтах), то используются команды с подразумеваемым операндом.

Для проверки окончания цикла используют или обычную команду перехода по условию, налагаемому в этом случае на какую-либо переменную, изменяющуюся в процессе вычислений, или специальные команды "УП по счетчику" (УПС) и "УП по индексу" (УПИ).

 

Условный переход по счетчику (УПС)

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

 

 

В данном случае счетчик организован на индексном регистре R1. Пусть для адресации сегмента кодов команд используется базирование, тогда адрес АИ = (В) + D является адресом начала цикла. Команда УПС уменьшает содержимое регистра R1 на 1 при каждой итерации цикла. В случае неравенства содержимого счетчика нулю ((R1) ¹ 0) осуществляется переход на АИ, т.е. в начало цикла. Если (R1) = 0, то осуществляется переход к команде, следующей по порядку за командой УПС, т.е. выход из цикла.

 

Условный переход по индексу (УПИ)

Возможная структура команды показана на рис 5.21, б. Пусть R1 – номер индексного регистра, а R2 – номер регистра, хранящего приращение. Регистр, в котором хранится предельное значение индекса, имеет подразумеваемый адрес и, следовательно, должен быть фиксированным для данного процессора. Пусть это будет регистр, следующий по порядку за регистром, хранящим приращение, т.е. R3. Команда УПИ складывает содержимое регистров R1 и R2, помещает результат сложения в R1 и сравнивает его с содержимым R3. Если результат сложения меньше или равен содержимому R3, то управление передается по адресу АИ = (В) + D, т.е. происходит повторение цикла. В противном случае выполняется переход к команде, следующей по порядку за командой УПИ, т.е. выход из цикла.

 

 
 

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

Рассмотренный выше механизм индексации можно назвать классическим. В современных ЭВМ используются различные его модификации, причем во многих случаях он не присутствует в чистом виде, а реализуется через другие механизмы организации вычислительного процесса. Кроме того, следует иметь в виду, что назначение полей адресного кода (B, D, X) зависит от архитектуры ЭВМ, разрядности машинного слова, системы команд, терминологии, используемой конкретным производителем ЭВМ в технической документации.

<== предыдущая лекция | следующая лекция ==>
Команды перехода на подпрограмму | Принципы организации систем прерывания программ
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 697; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.