Программный принцип управления, команда, ее структура, программа, взаимодействие устройств при выполнении команд.
⇐ ПредыдущаяСтр 4 из 4 С созданием первого компьютера связано имя выдающегося теоретика того времени – Джона фон Неймана, разработавшего архитектуру компьютера, которой придерживаются разработчики до нашего времени. По мнению фон Неймана, компьютер должен состоять из центрального арифметико-логического устройства, центрального устройства управления, запоминающего устройства и устройства ввода-вывода информации. Компьютер, по его мнению, должен работать с двоичными числами, быть электронным (а не электрическим); выполнять операции последовательно. Все вычисления, предписанные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов-команд. Каждая команда содержит указания на конкретную выполняемую операцию, место нахождения (адреса) операндов и ряд служебных признаков. Операнды - переменные, значения которых участвуют в операциях преобразования данных. Список (массив) всех переменных (входных данных, промежуточных значений и результатов вычислений) является еще одним неотъемлемым элементом любой программы. Для доступа к программам, командам и операндам используются их адреса. В качестве адресов выступают номера ячеек памяти ЭВМ, предназначенных для хранения объектов. Информация (командная и данные: числовая, текстовая, графическая и т.п.) кодируется двоичными цифрами 0 и 1. Поэтому различные типы информации, размещенные в памяти ЭВМ, практически неразличимы, идентификация их возможна лишь при выполнении программы, согласно ее логике, по контексту. На рисунке представлена схема классификации команд по трем признакам: функциональному назначению, числу адресов и длине команды.
В памяти компьютера в виде кодов находится выполняемая программа и все исходные данные. Каждая команда, входящая в программу, хранится, как правило, в одной ячейке. Каждая ячейка памяти независимо от того, что в ней хранится: код числа или код команды, - имеет свой номер, называемый адресом ячейки. Работа ЭВМ по программе начинается с того, что устройство управления (УУ) "заглядывает" в так называемый счетчик адреса команд (СЧАК). Перед началом работы в СЧАК помещается адрес ячейки, в которой хранится самая первая команда программы. С выполнения именно этой команды ЭВМ начинает решение задачи. После выполнения этой команды в СЧАК помещается адрес следующей команды и т.д., пока в СЧАК не окажется номер команды: "конец работы по программе", выполнив которую ЭВМ останавливается. Устройство управления находит ячейку по ее адресу, затем расшифровывает команду и настраивает арифметическое устройство (АУ) на ее выполнение. УУ обеспечивает подачу в АУ тех чисел, над которыми выполняется операция. Эти числа находятся по адресам, которые содержатся в команде. Устройство управления после того, как оно снабдило арифметическое устройство необходимыми ему числами и настроило его на выполнение конкретной операции, некоторое время бездействует, дает время арифметическому устройству на выполнение операции. Арифметическое устройство выполняет порученную ему операцию над кодами чисел. Полученный результат АУ содержит на своих выходах. Окончив работу, АУ дает УУ сигнал об этом. Устройство управления направляет результат в ячейку памяти, адрес которой определен либо программистом либо транслятором. После этого УУ вновь "заглядывает" в СЧАК и начинает рассмотренный цикл сначала. Может оказаться так, что очередная команда есть команда ввода (вывода) информации. В этом случае УУ обращается к тому из устройств ввода (вывода), которое предусмотрел программист, и настраивает его на работу. По окончании ввода (вывода) всей подготовленной для этого информации устройство вводы (вывода) дает сигнал УУ. Затем УУ вновь "заглядывает в СЧАК", и рабочий цикл повторяется еще раз.
Так, следуя программе, выполняя одну команду за другой, УУ координирует совместную работу всех блоков ЭВМ. Несколько особое положение занимает безадресное кодирование команд. Оно используются в компьютерах, имеющих стековую организацию памяти. Обращение к ячейкам такой памяти производится последовательно с помощью специального указателя стека (УС), определяющего рабочую в данный момент ячейку. Каждая ячейка снабжена тэгом – специальным признаком хранимой информации. Такая ЭВМ имеет структуру, представленную на рисунке. В ее состав помимо АЛУ входят два специальных буферных регистра РР1 и РР2. Здесь значение тэгов следующее: Op – в данной ячейке хранится операнд, C – признак наличия в ячейке кода операции.
Проиллюстрируем работу такой ЭВМ на примере вычисления выражения ((a + b) * c - d) / e. На первых двух тактах работы из памяти извлекаются операнды a и b и помещаются в рабочие регистры РР1 и РР2. Считав следующую ячейку стековой памяти, устройство управления по ее тэгу определяет, что данная информация представляет собой код операции. Этот код направляется в АЛУ, где и проводится сложение хранящихся в регистрах операндов с записью результата в один из рабочих регистров. Так как в следующей ячейке хранится операнд, то он направляется в РР, свободный от записанного результата. После этого производится выполнение следующей операции и так далее.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|