Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УчПос_ВТиИТ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.53 Mб
Скачать

5.5. Встроенная память/кэш

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

Кэш используется в качестве буфера между собственно процессором и памятью системы. Она имеет обычно небольшую емкость при высоком быстродействии и используется для промежуточного запоминания информации, считываемой из памяти, прежде всего кодов команд. При чтении сначала выполняется обращение к кэш; если же необходимых данных там не оказалось, производится обращение к основной памяти, и полученные данные помещаются также в кэш. Выгода от использования кэш получается из-за того, что большинство прикладных программ носит циклический характер, и после первого обращения к основной программе в кэш (при достаточном объеме) попадают все циклически повторяющиеся команды программы, для выполнения которых нет необходимости обращаться к основной памяти. Чаще всего кэш работает по ассоциативному принципу, при котором в его ячейке хранится не только слово данных, но и адрес размещения этого слова в основной памяти, по которому и происходит поиск информации.

5.6. Типы адресаций операндов

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

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

Первая группа адресаций устанавливает АИ по значению АК. Сюда входят непосредственная, прямая, регистровая, косвенная, автоинкрементная и автодекрементная адресации.

При непосредственной адресации операнд указывается в команде константой. Эта адресация используется только для указания исходных данных.

При прямой адресации АИ совпадает с АК.

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

Косвенная адресация используется в целях сокращения длины команды. В этом случае АК указывает имя регистра процессора, в котором находится АИ. Такой регистр называют регистром адреса..

При автоинкрементной (автодекрементной) адресации в команде указывается имя регистра процессора, содержимое которого автоматически увеличивается (уменьшается) на 1, причем изменение адреса может производиться как до (преинкремент/предекремент), так и после (постинкремент/постдекремент) выполнения основной команды. Следовательно, преинкремент/предекремент означает вычисление нового АИ перед выполнением команды, а постинкремент/постдекремент – что АИ в данной команде не изменяется.

Вторая группа адресаций устанавливает АИ по АК и содержимому регистров процессора. Сюда входят индексная и базовая адресации. Оба типа адресаций позволяют при меньшей длине адресного кода команды обеспечить доступ к любой ячейке памяти.

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

Базирование является развитием индексации. Здесь АИ также определяется алгебраической суммой содержимого регистра адреса, называемого базой, и смещения, но с изменением содержимого базы. При этом используются постинкремент/постдекремент и преинкремент/пре-декремент на величину смещения.