В основе работы любого вычислительного устройства лежит периодическое выполнение цикла
Рис. 3.7.
А теперь, чтобы лучше понять работу конвейера, давайте пройдемся по нашей программе. Предположим, что компьютер (т. е. счетчик команд) был сброшен и только что завершилась операция выборки первого цикла.
* * *
Выборка (Рис. 3.4)……Цикл 2
• Инкрементируется счетчик команд, чтобы указать на 2-ю команду.
• Одновременно код 1-й команды перемещается по конвейеру (из регистра IR1 в регистр IR2).
• Содержимое счетчика команд (h’001’) выставляется на шину адреса памяти программ.
• После этого на шине данных памяти программ появляется код 2-й команды, который загружается в регистр IR1.
Исполнение (Рис. 3.4)…..Цикл 2
• Адрес операнда h’25’ (т. е. NUM_1) заносится в регистр адреса FAR и выставляется на шину адреса памяти данных.
• Искомое значение, находящееся по адресу NUM_1, выставляется на шину данных памяти данных, после чего загружается в регистр FDR.
• АЛУ переключается в режим пропуска, в котором аргумент с входа АЛУ без изменений копируется в рабочий регистр.
* * *
Выборка….. Цикл 3
• Инкрементируется счетчик команд, чтобы указать на 3-ю команду.
• Одновременно код 2-й команды перемещается по конвейеру (из регистра IR1 в регистр IR2).
• Содержимое счетчика команд (h’002’) выставляется на шину адреса памяти программ.
• После этого на шине данных памяти программ появляется код 3-й команды, который загружается в регистр IR1.
Исполнение ….. Цикл 3
• АЛУ переключается в режим сложения, в котором константа, содержащаяся в коде 2-й команды, прибавляется к содержимому рабочего регистра.
• Результат операции NUM_1 + 4 с выхода АЛУ помещается обратно в рабочий регистр.
* * *