Сокращение затрат времени при работе с процедурами

Наибольшее время в программах, написанных на ЯВУ, расходуется на вызовы процедур и возврат из них. Связано это с созданием и обработкой большого числа локальных переменных и констант. Одним из механизмов для борьбы с этим эффектом являются регистровые окна. Главная их задача — упростить и ускорить передачу параметров от вызывающей процедуры к вызываемой и обратно.


Регистровый файл разбивается на группы регистров, называемые окнами. Отдельное окно назначается глобальным переменным. Глобальные регистры доступны всем процедурам, выполняемым в системе в любое время. Каждой процедуре выделяется отдельное окно в регистровом файле. Все окна имеют одинаковый размер (обычно по 32 регистра) и состоят из трех полей. Левое поле каждого регистрового окна одновременно является и правым полем предшествующего ему окна (рис. 4.2). Среднее поле служит для хранения локальных переменных и констант процедуры.

RISC-процессоры эффективны в тех областях применения, в которых можно продуктивно использовать структурные способы уменьшения времени доступа к оперативной памяти. Если программа генерирует произвольные последовательности адресов обращения к памяти и каждая единица данных используется только для выполнения одной команды, то фактически производительность процессора определяется временем обращения к основной памяти. В этом случае использование сокращенного набора команд только ухудшает эффективность, т.к. требует пересылки операндов между памятью и регистром вместо выполнения команд «память-память».

RISC-архитектурой обладают микропроцессоры RISC I, RISC II и MIPS (их архитектуру называют «классической»), а также PA–8000, Alpha 2106x, Power PC, R10000 (Rxxxxx) (это универсальные процессоры), микропроцессоры обработки сигналов TMS 32C1x, ADSP21xx, DSP 560xx и транспьютеры (T-2, T-4, T-8, T9000).

При развитии микропроцессоров пытаются сохранить преемственность программного обеспечения и повысить производительность, что противоречит друг другу. Процессоры с системой команд х86, относящихся к классу CISC-процессоров, имеют более низкие тактовые частоты по сравнению с RISC-процессорами. Вследствие этого компании NexGen, AMD и Intel в своих последних разработках универсальных процессоров применили следующий подход. В микропроцессор с CISC-системой команд встраивается аппаратный транслятор, превращающий команды x86, в команды RISC-процессора. При этом одна команда х86 может порождать до 4-х команд RISC-процессора. К таким процессорам относятся следующие: К5 и К6 фирмы AMD (RISC 86 – NexGen), Pentium Pro и Pentium II фирмы Intel.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: