Регистры общего назначения
Перед разработчиками архитектуры процессора встает несколько вопросов, связанных с организацией набора регистров:
1. Универсальные регистры или регистры с частичной специализацией на выполнение определенного круга функций?
2. Универсальные регистры для хранения данных любых форматов или специализированные регистры в соответствии с определенными типами данных?
3. Количество регистров.
4. Разрядность регистров и размещение в регистрах данных, разрядность которых превышает разрядность регистров.
Универсальные регистры или регистры с частичной специализацией на выполнение определенного круга функций?
Если в процессоре существуют специализированные регистры, то их применение специфицируется неявно через код операции, который требует участия в определенной операции именно такого-то регистра и никакого другого. Явная спецификация операнда при такой организации может только уточнить, какой именно из группы регистров одинакового назначения будет использоваться при выполнении данной команды (если специализированные регистры объединены в группы по назначению). В результате сохраняется пространство в коде команды для другой информации. С другой стороны, любая специализация ограничивает программиста в использовании ресурсов процессора. Однозначного решения этой проблемы, пригодного на все случаи жизни, не существует.
В архитектурах, которые были разработаны еще в 70-х годах 20-го столетия (например, в архитектуре фирмы Intel IA-32), часть регистров общего назначения являлись истинно универсальными, а часть специализированными.
В архитектурах, которые были разработаны значительно позже регистры общего назначения – это универсальные регистры, данные из которых программист мог использовать в любых командах. В тоже время некоторые из этих универсальных регистров все-таки были специализированы, например: один из них предназначался для хранения номера текущей команды; другой – для хранения адреса возврата из подпрограммы; третий – для хранения указателя стека.
Универсальные регистры для хранения данных любых форматов или специализированные регистры в соответствии с определенными типами данных?
Однозначного ответа на этот вопрос не существует.
В архитектурах процессоров для построения специализированных компьютеров с относительно невысокой производительностью для управления различными технологическими объектами предпочтение отдается универсальным регистрам для хранения данных любых форматов данных (с фиксированной точкой, с плавающей точкой, адресов).
В архитектурах процессоров для построения как универсальных, так и специализированных компьютеров с высокой производительностью предпочтение отдается наборам специализированных по форматам данных регистров. В таких архитектурах имеются: универсальные регистры для данных с фиксированной точкой и адресов; универсальные регистры для данных с плавающей точкой; универсальные векторные регистры.
Дата добавления: 2015-09-29; просмотров: 813;