Remove ads
Программная команда в компьютере Из Википедии, свободной энциклопедии
Кома́нда перехо́да — команда процессора, которая нарушает непрерывную последовательность исполнения команд, вынуждая выбирать и исполнять последующие команды с произвольно заданного адреса. Используется для организации условных операторов, циклов, для связи с подпрограммами. Исполнение команды перехода в современных микропроцессорах чревато потерями производительности из-за простоев конвейера.
Если счётчик команд программно доступен в качестве регистра-приёмника результатов операций, любая команда модификации счётчика команд будет служить командой перехода.
Организация цикла задержки в процессоре ARM:
MOV R0, #0x10000
delay:
SUBS R0, R0, #1
BNE delay
Переход по вычисляемому адресу в процессоре ARM:
MOV PC, R0
Условный переход — команда программируемому вычислительному устройству на изменение порядка выполнения программы в соответствии с результатом проверки некоторого условия.
Наиболее часто условный переход имеет две стадии: на первой происходит сравнение между собой некоторых величин, определяющих условие перехода, на второй выполняется сам переход.
Необходимость корректной обработки условных переходов накладывает серьёзный отпечаток на логику работы современных конвейерных процессоров. Условные переходы могут выполняться двумя способами. Выполняемые условные переходы меняют значение счётчика команд процессора на вычисленное значение адреса перехода. Невыполняемые — прибавляют к значению счётчика команд число, равное длине текущей команды в байтах, для перехода к выполнению следующей команды. Неправильное определение типа условного перехода может приводить к возникновению существенных задержек в работе конвейера и, соответственно, к большой потере производительности компьютера.
#include <iostream>
int main()
{
int i;
std::cout<<"Введите целое число"<<std::endl;
std::cin>>i;
std::cout<<"Вы ввели ";
if (i >= 0) { // Проверка условия
// Действия производимые, если условие выполнено
std::cout<<"положительное ";
}
else {
// Действия производимые, если условие не выполнено
std::cout<<"отрицательное ";
}
std::cout<<"число"<<std::endl;
return 0;
}
int main()
{
printf("Hi");
return 0;
}
|
Для улучшения этой статьи желательно:
|
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.