КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
В-третьих, определить адрес следующей команды
Во-вторых, выполнить команду. Во-первых, выбрать команду из памяти. После того как программа и данные введены в память, адрес первой выполняемой команды загружается в счётчик команд (СК) и начинается фаза выборки: содержимое СК выставляется на АШ, и команда, которая находится в адресованной ячейке памяти, посылается по ШД в регистр команд УУ. Поскольку команды в памяти располагаются в последовательных ячейках памяти, содержимое СК увеличивается на 1, и в нем оказывается адрес следующего слова программы. Затем УУ декодирует код операции только что полученной команды. Если код операции показывает, что команда состоит из более, чем одного слова, фаза выборки повторяется нужное число раз, чтобы выбрать команду полностью. При этом каждый раз содержимое СК увеличивается на 1. Таким образом, после завершения фазы выборки команды СК всегда содержит в себе адрес следующей команды. Выборка команды Обработка запросов прерываний Декодирование и выполнение команды Определение адреса следующей команды Программная память Адрес команды Команда Запросы прерываний Адрес памяти Данные Адрес порта ВВ Данные Память данных Устройства ВВ Если нужно для выполнения команды Рис. 2 После выборки и декодирования всей команды УУ переходит к фазе ее выполнения. Оно формирует управляющие сигналы, и соответствующие схемы выполняют заданную в команде операцию. Если в команде задан адрес операнда, УУ переходит к пересылке адресуемой информации между указанной ячейкой или портом ввода-вывода и соответствующим блоком МПС, например, АЛУ. Для этого адресная часть команды передается на АШ, подготавливая последующее появление адресуемой информации на ШД. В конечном счете УУ обеспечивает фактическое выполнение заданной операции. Когда команды расположены в последовательных ячейках памяти, адрес следующей выполняемой команды уже находится в СК. В этом случае МП вновь обращается к фазе выборки и описанный выше процесс повторяется до тех пор, пока МП не получит указание остановиться. Описанный алгоритм работы МПС характерен для известных автоматов, управляемых последовательной программой. Однако, этим не исчерпываются возможности МПС. Новое качество МП как программно управляемого автомата состоит в том, что он способен обеспечить ветвление программ. Это значит, что в зависимости от ранее полученного результата обработки информации (нуль, переполнение разрядной сетки и т.д.) возможно альтернативное продолжение программы. Для этой цели используются команды переходов или передачи управления. Эти команды осуществляют проверку состояния флажка, отражающего соответствующий признак полученного результата, и при выполнении условия перехода изменяют содержимое СК, помещая в него новый адрес, содержащийся в адресной части команды перехода. Таким образом, УУ автоматически получает нужную ему следующую команду. Существует особый тип команд перехода - команды вызова и команды возврата, которые позволяют многократно использовать некоторую последовательность команд, называемую подпрограммой. Подпрограмма хранится в памяти отдельно от главной программы и предназначается для выполнения конкретной функции или процедуры, которая часто встречается в главной программе. Для использования подпрограммы ее необходимо вызвать из главной программы (передать ей управление), выполнить и вернуться в главную программу для продолжения работы. Чтобы обеспечить возвращение в главную программу, команда вызова сохраняет содержимое СК, которое было в нем до перехода к подпрограмме, т.е. адрес возврата, в специальной области памяти - стеке, и затем передаёт управление подпрограмме. В свою очередь подпрограмма всегда заканчивается командой возврата, которая восстанавливает содержимое СК, помещая в него сохраненный в стеке адрес возврата. В общем случае стек - это совокупность регистров, которые принимают и выдают информацию в соответствии с правилом: “последним вошел - первым вышел” (LIFO - last-in first-out). Это означает, что только вершина стека, где находится последний его элемент, непосредственно доступна извне. В зависимости от типа МП стек может находиться в УУ или использовать часть общей памяти системы. Если стек может хранить несколько адресов (значений СК), то это позволяет выполнять вложенные подпрограммы. Очевидно, что глубина вложений подпрограмм зависит от емкости стека.
Дата добавления: 2015-05-09; Просмотров: 664; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |