Cтраница 2
В архитектуре команд процессора UltraSPARC все команды используют непосредственную или регистровую адресацию, за исключением тех команд, которые обращаются к памяти. При регистровом способе адресации 5 битов просто сообщают, какой регистр нужно использовать. При непосредственной адресации данные обеспечивает 13-битная константа со знаком. Для арифметических, логических и подобных команд никакие другие способы адресации не используются. [16]
Обратите внимание на то, что, если в командах MFPI и MTPI используется режим регистровой адресации ( режим 0), процессор интерпретирует это как ссылку на стек предшествующего режима. [17]
Для указания операнда в программно доступных регистрах используются регистровая и неявная регистровая адресации. При регистровой адресации номер 8 - или 16-разрядного регистра, содержащего операнд, указывается в поле REG кода команды. При регистровой неявной адресации номер регистра определяется неявно самим кодом команды. [18]
Команды, оперирующие содержимым регистров, являются наиболее короткими и выполняются за наименьшее время, так как не требуют вычисления ЕА и выполнения цикла шины для обращения к памяти. Для многих команд с регистровой адресацией предусмотрены специальные укороченные форматы. [19]
Действие команды XLAT [ IMAGE ] Команды LEA, LDS, LES. [20] |
Команды LDS г / т и LES г т загружают адресную информацию из памяти в адресуемый общий регистр и в соответствующий сегментный регистр. При этом кодирование поля mdll ( регистровая адресация) не должно использоваться, так как действия команд в этом случае не определены. [21]
Для повышения быстродействия и логических возможностей процессора и микропроцессора в их состав включают блок регистровой памяти ( местную память) небольшой емкости, но более высокого, чем ОП, быстродействия. Регистры этого блока ( или ячейки местной памяти) указываются в командах программы путем укороченной регистровой адресации и служат для хранения операндов, в качестве аккумуляторов ( регистров результата операций), базовых и индексных регистров, указателя стека. [22]
Регистровая адресация есть частный случай укороченной, когда в качестве фиксированных ячеек с короткими адресами используются регистры ( ячейки сверхоперативной или местной памяти) процессора. Например, если таких регистров 16, то для адреса достаточно четырех двоичных разрядов. Регистровая адресация наряду с сокращением длины адресов операндов позволяет увеличить скорость выполнения операций, так как уменьшается число обращений к ОП. [23]
Проблема построения системы команд при коротком машинном слове решается благодаря использованию регистра-аккумулятора с подразумеваемой адресацией для реализации одноадресных и безадресных команд. В последних адрес операнда неявно задается кодом операции. Широко применяются укороченная регистровая адресация для обращения к общим регистрам и регистровая косвенная и индексная адресации для задания операнда в ОП. [24]
Содержимое регистра СХ не изменяется. В данном примере микропроцессор 8088 использует регистровую адресацию для извлечения операнда-источника из регистра СХ и загрузки его в регистр-приемник АХ. [25]
К блоку управляющих регистров следует также отнести управляющие триггеры, фиксирующие режимы работы процессора. Для повышения быстродействия и логических возможностей процессора и микропроцессора в их состав включают блок регистровой памяти ( местную память) небольшой емкости, но более высокого, чем ОП, быстродействия. Регистры этого блока ( или ячейки местной памяти) указываются в командах программы путем укороченной регистровой адресации и служат для хранения операндов, в качестве аккумуляторов ( регистров результата операций), базовых и индексных регистров, указателя стека. [26]
Отметим, что выбор того или иного метода адресации в значительной степени определяет время выполнения команды. Самая быстрая адресация - это регистровая, так как она не требует дополнительных циклов обмена по магистрали. Если же адресация требует обращения к памяти, то время выполнения команды будет увеличиваться за счет длительности необходимых циклов обращения к памяти. Понятно, что чем больше внутренних регистров у процессора, тем чаще и свободнее можно применять регистровую адресацию, и тем быстрее будет работать система в целом. [27]
Формат команды и тип адресации задаются неявно кодом операции. Адрес команды задается адресом ее первого байта. Проблема построения системы команд при коротком машинном слове решается благодаря использованию регистра-аккумулятора с подразумеваемой адресацией для реализации одноадресных и безадресных команд. В последних адрес операнда неявно задается кодом операции. Широко применяются укороченная регистровая адресация для обращения к общим регистрам и регистровая косвенная и индексная адресации для задания операнда в ОП. [28]
Однако 16-разрядные процессоры, такие, как Н8000, обычно имеют 16-разрядную шину данных памяти, что позволяет производить обращение сразу к пол ному слову. Считая, что время обращения к одному слову равно 1 икс, составьте таблицу времени выполнения всех команд процессора Н8000 в зависимости от кода операции и способа адресации. LD reg2 opl требуется один цикл для выборки команды плюс дополнительные циклы для выборки операнда в соответствии с одним из способов адресации. В случае регистровой адресации дополнительных циклов не требуется; при прямой адресации необходимы два дополнительных цикла - один для выборки адреса, а другой для обращения к операнду. [29]
Способы адресации данных. [30] |