В языках программирования имеются, как в этих примерах, простые переменные, содержащие элементы данных, но есть также и более сложные структуры данных, например массивы. Эти сложные структуры данных могут содержать больше элементов данных, чем количество регистров в компьютерах. Как компьютер может представить такие крупные структуры и получить к ним доступ?
Вспомним пять компонентов компьютера, которые были представлены ранее и повторно показаны в начале. Процессор может хранить в регистрах только небольшой объем данных, но компьютерная память содержит миллиарды элементов данных. Следовательно, структуры данных хранятся в памяти.
Как ранее объяснялось, арифметические операции проводится н МIPS- инструкциях только с регистрами, следовательно, МIPS-ассемблер должен включать инструкции, переносящие данные между памятью и регистрами. Такие инструкции называются инструкциями переноса данных. Для доступа к слову в памяти инструкции нужно предоставить адрес памяти.
Инструкция переноса данных, которая копирует данные из памяти в регистр, традиционно называется загрузкой. Формат инструкции загрузки состоит из имени операции, за которым следует загружаемый регистр, а затем константа и регистр, используемые для доступа к памяти. Сумма константы и содержимого второго регистра формирует адрес памяти. Настоящее MIPS-имя для этой инструкции, что означает загрузить слово.
В MIPS слова должны начинаться с адресов, кратных четырем. Это требование называется условием выравнивания и имеется у многих архитектур. Компьютеры делятся на те, которые используют в качестве адреса слова адрес самого левого, или «старшего» байта, и на те, которые используют адрес самого правого, или «младшего байга.
Дополняющей для инструкции загрузки является инструкция, которая традиционно называется сохранением ; она копирует данные из регистра в память. Формат у сохранения такой же, как и у загрузки: имя операции, затем сохраняемый регистр, после него смещение к выбранному элементу массива и, наконец, базовый регис тр. И еще раз: МIPS-адрес указывается частично константой и частично содержимым регистра. Настоящее MIPS-имя для этой инструкции sw, что означает сохранить слово.
Константы или непосредственные операнды
В MIPS-архитектуре «загрузить слово» и «сохранить слово» являются инструкциями, копирующими слова между памятью и регистрами. Другие разновидности компьютеров для переноса данных наряду с загрузкой и сохранением используют и другие инструкции. Такие альтернативные инструкции имеются в архитектуре Intel х86, рассматриваемой в разделе 2.17. У многих программ переменных больше, чем регистров у компьютера. Поэтому компилятор сохраняет наиболее часто используемые переменные в регистрах и помещает все остальные в память, используя загрузку и сохранение для перемещения переменных между регистрами и памятью. Процесс размещения часто используемых переменных в память называется откачкой регистров.
Опубликовал katy
June 26 2015 06:55:45 ·
0 Комментариев ·
2526 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.