Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Работа стека регистров





Файл регистров GR отличается от файлов регистров FR и PR тем, что последние содержат фиксированные подмножества статических и вращаемых регистров, в то время как в файле регистров GR вне подмножества статических регистров применяется стек регистров, и программной единице доступна лишь его часть - окно стека регистров. В отличие от статических регистров, стекируемое подмножество локально для любой программной единицы и может иметь размер от 0 до 96 регистров, начиная с регистра GR32.

Использование этого механизма в архитектуре EPIC позволяет избежать накладных расходов, связанных с сохранением/восстановлением большого числа регистров при вызовах подпрограмм и возвратах из них (однако статические регистры при необходимости все-таки приходится сохранять и восстанавливать, явно кодируя соответствующие команды). Автоматическое сохранение/восстановление стекируемого подмножества регистров осуществляет аппаратура, и в программе об этом заботиться не надо. В режиме IA-32/64 работа с этим стеком регистров, естественно, отключается.

 

22.3. Система команд "непривилегированной части"

Именно подмножество команд "непривилегированной части" определяет наиболее принципиальные особенности архитектуры EPIC.

Имеются следующие типы команд:

- команды работы со стеком регистров (например, команда alloc);

- целочисленные команды;

- команды сравнения и работы с предикатами;

- команды доступа в оперативную память;

- команды перехода;

- мультимедийные команды;

- команды пересылок между регистрами;

- "разные" (операции над строками и подсчет числа единиц в слове);

- команды работы с плавающей точкой.

Целочисленные команды архитектуры EPIC включают арифметические операции (add, sub и др.), логические операции (and, or, xor и др.), операции над разрядами и сдвиги, а также 32-разрядные операции. Большинство этих команд трехадресные, а их аргументы лежат в регистрах; однако встречается и литеральное представление аргументов. Имеются также модификации команд add и sub, которые являются четырехадресными: в них к сумме/разности регистров прибавляется/вычитается 1.

Команда умножения целых чисел в регистрах GR отсутствует; для перемножения необходима пересылка целых в регистры FR и применение операции умножения, выполняемой в функциональном устройстве вещественного типа. Некоторые специалисты считают это "наименее удачной" чертой системы команд архитектуры EPIC.

Команды сравнения и работа с предикатами - это одна из принципиально новых особенностей архитектуры EPIC по сравнению с RISC-архитектурой. Приведем сначала несколько типичных примеров команд этой группы. Команда CMP сравнивает два регистра GR (или регистр GR и литерал) на одно из 10 возможных условий (больше, меньше или равно и т.п.). Команда TBIT тестирует заданный разряд регистра GR. Команда FCMP сравнивает два числа с плавающей точкой. Однако результатом сравнения является не единственный код условия, что типично для обычных процессоров. Логический результат сравнения (1 - истина, 0 - ложь) записывается обычно в пару предикатных регистров (во второй пишется отрицание первого).

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

 

 

Date: 2015-10-18; view: 299; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию