Принцип программного управления является определяющим в компьютерной технике. Этот принцип определяет способ получения полезного эффекта от компьютеров: человек, используя свой интеллект, один раз «пишет» программу, а затем эту программу можно выполнять на компьютере произвольное число раз, с одной и той же точностью исполнения, как и в первый раз.
Процессор является единственным активным компонентом, после включения электропитания он самостоятельно начинает выполнять созданную для него программу, которая представляет собой последовательность команд (инструкций) процессору. Программы и данные доступны для процессора только в том случае, если они находятся в оперативной памяти (динамической или ПЗУ).
Любой микропроцессор (МП) предназначен для выполнения набора команд, определенных для него разработчиками данного микропроцессора, и ряда аппаратных функций, обеспечивающих эффективное выполнение этих команд. Командами человек (программист) указывает микропроцессору последовательность действий, реализующих задачу, решаемую программистом на персональном компьютере. Программа, состоящая из команд процессора, должна находиться в оперативной памяти (динамической или ПЗУ), но так как размер оперативной памяти ограничен, основной объем программ и данных в виде файлов хранится во «внешней памяти» т. е. на «жестких» магнитных дисках и других носителях информации. Процессор для выполнения служебных или прикладных программ, находящихся, например, на дисках, осуществляет (с помощью других программ) сначала загрузку этих программ с диска в динамическую память, и только после этого "программы с дисков" становятся доступными для микропроцессора. Все компоненты компьютера объединяются в единую систему с помощью системного интерфейса, который является общей информационной магистралью компьютера по которой происходит обмен информацией между процессором, памятью и периферийными устройствами. Операции обмена на системном интерфейсе, как правило, инициирует микропроцессор (за исключением обмена по прямому доступу в память). После включения электропитания, после завершения системного сброса по сигналу RESET, процессор формирует адрес для выборки начальной команды, и инициирует на системном интерфейсе операцию «Чтение команды». Считывает из памяти (ПЗУ) команду, принимает ее в свой регистр (регистр инструкций), и отрабатывает ее. Затем автоматически формирует адрес для выборки следующей команды программы и т. д.. Процессор формирует адрес следующей выбираемой команды в регистре IP (счетчик команд или указатель команд) путем прибавления длинны команды к адресу предыдущей команды (естественный порядок выборки команд), но в некоторых командах процессора содержится адрес следующей выбираемой команды (группа команд передающих управление), и естественный порядок выборки команд может быть нарушен. Выполняя команды исполняемой программы и аппаратные функции, процессор инициирует на системном интерфейсе операции обмена: «Чтение команды», «Чтение данных из памяти», «Запись данных в память», «Чтение порта», «Запись в порт» и др..
Для эффективного выполнения последовательности команд (программы) аппаратура МП выполняет ряд следующих вспомогательных функций:
- инициирует операции обмена на системном интерфейсе;
- выполняет процедуры прерывания;
- выполняет арбитраж запросов на захват интерфейса;
- реализует выполнение циклов обмена на системном интерфейсе с холостыми тактами ожидания (асинхронный обмен);
- реализует функции энергосбережения;
- автоматически формирует адрес первой выбираемой команды
- автоматически формирует адрес следующей выбираемой команды;
- выполняет автоматическое отключение при повышении температуры выше заданного уровня и др.
Во время выполнения команд или аппаратных функций, в компьютерной системе идет обмен по шине данных системного интерфейса между одним из регистров микропроцессора и другим программно-доступным элементом компьютера, расположенным вне микропроцессора: ячейки в оперативной памяти, регистры в контроллерах внешних устройств (исключение составляет обмен по прямому доступу в память, когда в обмене участвуют ячейки оперативной памяти и регистр данных контроллера соответствующего внешнего устройства).
Программист, создающий программу, может использовать для хранения команд программы и данных ячейки памяти, каждая из которых имеет свой адрес (наименьшая адресуемая ячейка памяти – байт, который состоит из 8-ми двоичных разрядов). Программист может с помощью команд процессору осуществлять запись или чтение из ячеек памяти. Для доступа к регистрам контроллеров устройств у процессора обычно имеются команды «Чтение порта», «Запись в порт».
Программисту с помощью команд доступны:
- регистры микропроцессора;
- ячейки ПЗУ (постоянное запоминающее устройство;
- ячейки ОЗУ (динамическая память: например ячейка памяти с адресом 200h);
- регистры контроллеров.
Все эти программно-доступные элементы имеют свои индивидуальные адреса, которые программист может указывать в командах процессору.
При выполнении команд или аппаратных функций микропроцессор инициирует операции обмена по шине данных системного интерфейса. Обмен осуществляется между регистром процессора и программно-доступным элементом, находящимся вне процессора (с ячейкой памяти, ячейкой ПЗУ, регистром контроллера системной платы или регистром контроллера внешнего устройства).