Тема 4. Автоматическое выполнение программы процессором
Выполнение программы состоит из следующих этапов работы ПК:
- чтение процессором из ОЗУ очередной
команды,
- последующее чтение процессором из ОЗУ
операнда и, при необходимости,- второго,
- исполнение в процессоре закодированной в
команде операции,
- запись результата операции, при
необходимости, в ОЗУ или в порт,
- формирование адреса следующей команды и
обращение за ней в ОЗУ.
При каждом чтении из ОЗУ процессор
выставляет на ША (шина адреса) адрес ячейки памяти, на ШУ(шина управления) -
сигнал ”читать”, в ответ на которые ОЗУ выставляет на ШД (шина данных), а
процессор принимает содержимое ячейки памяти как очередную команду или операнд(данные,
которые обрабатываются командой). При каждой записи в ОЗУ (например, при
сохранении результата операции), процессор выставляет на ША адрес ячейки
памяти, на ШУ - сигнал ”записать”, в ответ на которые ОЗУ принимает с ШД в
указанную шиной адреса ячейку.
Как следует из принципа адресности, если
команды программы расположены в ячейках памяти с последовательно возрастающими
адресами, для перехода к следующей команде достаточно в процессоре увеличить
адрес предыдущей команды и выставить его на ША. Это автоматическое изменение
адресов команд и составляет основу автоматического управления ходом
вычислительного процесса в ЭВМ.
Структурная организация процессора.
Процессор является основным «мозговым»
узлом, в задачу которого входит исполнение находящегося в памяти программного
кода, который получается в результате трансляции текста программы на каком-либо
языке программирования. В настоящее время под словом процессор обычно
подразумевают МП – микросхему, которая, помимо соответственно процессора, может
содержать и другие узлы.
Простейший МП с одной внутренней шиной
состоит из следующих блоков:
- УУ
- устройства управления - управляет работой ЭВМ по
заданной программе.
- АЛУ
- арифметико-логического устройства - для выполнения
закодированных в команде операций.
- РОН
- регистры общего назначения - для временного хранения
операндов и результатов выполненных операций.
- БФД
- буфера данных, обеспечивающего двунаправленные передачи по
ШД.
- Управляющих
регистров, таких как:
- Регистр
команд -
для хранения текущей (исполняемой) команды.
- Счетчик
команд -
для хранения и модификации адреса текущей команды.
- Регистр
флагов -
для хранения флагов - признаков результатов операций или
состояний МП. Они автоматически формируются в АЛУ и записываются в регистр флагов.
Каждый флаг - двоичная переменная, которая хранится в отдельном триггере.
Используются для ветвлений в программе.
- Регистр
адреса -
для хранения адресов команды, операнда, результата операции, т.е. адреса
устройства, к которому обращается МП с целью получить или передать данные.
Современные МП имеют гораздо более сложную
структуру, однако в них присутствуют все перечисленные выше блоки.
Стадии (этапы) выполнения команды
Упрощенно выполнение команды с участием
всех блоков можно представить следующими
этапами:
- выборка
(или чтение) очередной команды в регистр команды из ячейки памяти с
адресом, указанным в счетчике команд;
- декодирование
кода операции с помощью дешифратора в УУ;
- чтение
первого операнда из ОЗУ или порта в РОН, если он хранится вне процессора
- чтение
второго операнда, если операция выполняется над двумя операндами;
- исполнение
операции в АЛУ;
- вывод
результата в порт или запись в память;
- автоматическое
изменение содержимого счетчика команд для обращения процессора к ОЗУ за
следующей командой. Для линейного участка программы содержание счетчика
команд после каждой команды увеличивается на число ячеек, хранящих
предыдущую команду.
Комментариев нет:
Отправить комментарий