Программирование на JAVA

Поэтому значи­тельного ускорения работы можно добиться в тех случаях, когда несколько опе­раций подряд выполняются над хранящимися в регистрах данными без обраще­ния к памяти. При компиляции программ, написанных на языке высокого уровня, в машинный язык важно минимизировать частоту перемещений данных между памятью и регистрами процессора.

Итак, теперь вы имеете представление об одно-, двух- и трехадресных коман­дах и знаете о возможности использовать команды, в которых все операнды зада­ются неявно. Такие команды применяются в машинах, хранящих операнды в структуре, которая называется стеком. А сами команды называются ноль-адрес­ными. Концепция стека вводится в разделе

Выполнение команд и линейный код

В предыдущем разделе мы рассматривали форматы команд на примере операции

С ← [А] + [В]. На рис. 5.3. показан фрагмент программы, выполняющей эту зада­чу, в том виде, в каком он представлен в памяти компьютера. Мы предполагаем, что компьютер поддерживает только одноадресные команды и что его процессор содержит много регистров. Длина слова составляет 32 разряда, а память адресует­ся побайтово. Три команды программы расположены в следующих друг за другом словах, начиная с адреса i


<< назад вперед >>