Управляющее устройство, системы команд и типы команд.
Процессор. Центральным блоком, занимающимся обработкой информации в компьютере, является процессор.
Он выполняет операции над данными - операндами. Возможности использования ЭВМ определяются набором операций, которые может выполнять процессор. Этот набор операций называется системой команд. Ее объем является одной из главных характеристик ЭВМ. Для микроЭВМ система команд может содержать около сотни и более различных команд.
Помимо чисто арифметических и логических операций, процессор должен анализировать еще некоторые признаки (знак результата, переполнение разрядной сетки ЭВМ, нулевой результат и т.п.) и принимать соответствующие решения о дальнейших действиях. В качестве признака может выступать, например, уровень приоритета - состояние, при котором запрещено внешним устройствам запрашивать программы их обслуживания. Набор признаков формируется АЛУ (входящим в состав процессора) и запоминается в специальном многоразрядном регистре слова состояния процессора (ССП или регистр флагов).
Возможный вариант структуры процессора представлен на рисунок 7.
Итак, в ОЗУ записана программа решения задачи. Для того чтобы программа начала выполняться, нужно обратиться к первой команде, считать ее в процессор (запомнить в специальном регистре команд), передать на арифметико-логическое устройство (АЛУ) данные и организовать управление им в соответствии с кодом операции (КОП), записанным в команде. Но для этого необходимо знать, где находится первая (или очередная) команда, т.е. требуется указать номер ячейки или адрес команды.
Для выборки и хранения адреса команды существует специальное устройство, называемое счетчик адресов команд (СчК). В рассматриваемой машине счетчиком является регистр общего назначения R7. Содержимое счетчика машина воспринимает как адрес очередной команды. Для запуска программы в СчК необходимо записать ее начальный адрес. После выполнения очередной команды адрес автоматически изменяется (на 2), и счетчик указывает
Рисунок 7
на следующую команду. Счетчик работает автоматически, пока не встретится команда останов или не произойдет сбой из-за неверной команды.
Если мы запишем в СчК нужный нам адрес, отличный от очередного, то заставим ЭВМ выполнять команду из другой части ОЗУ, в том числе и для другой задачи. Следовательно, записывая нужный нам адрес в СчК, мы можем изменять ход вычислительного процесса.
Команда, на адрес которой указывает СчК, записывается и хранится в регистре команд (РК) в течение времени, необходимого для ее реализации. Код команды поступает на программируемую логическую матрицу (ПЛМ), представляющую собой управляемый дешифратор. ПЛМ воспринимает КОП, запросы от ВУ, учитывает слово состояния процессора, формируемого в регистре флагов, текущее состояние АЛУ и вырабатывает адрес микрокоманды.
По этому адресу считывается микропрограмма, эмулирующая команду, находящуюся в регистре команд. Очередная микрокоманда поступает на дешифратор, формирующий сигналы управления АЛУ.
Текущее состояние АЛУ фиксируется в виде слова состояния процессора (ССП) в регистре флагов. Это слово представляет собой набор бит, характеризующих некоторые признаки, например, знак последнего результата, приоритет процессора, мода(режим работы) процессора, арифметическое переполнение– ситуацию, при которой возникает арифметическая ошибка, связанная с ограниченным машинным словом. Эти признаки используются на аппаратном уровне, системном и в прикладных программах, например, при организации условных переходов.
Устройство памяти компьютера
Еще одним устройством процессора является стек. Стек это память без произвольного доступа, имеющая один вход и один выход (рисунок 8), память магазинного типа, действующая по принципу «первым вошел — последним вышел». Такая память используется тогда, когда требуется запомнить массив информации, а затем восстановить его в том же порядке.
Рисунок 8
Стек бывает:
· программным,
· аппаратно-программным,
· аппаратным.
Функционально он состоит из указателя стека (УС) и стековой памяти. Указатель стека обеспечивает управление записью и считыванием из стека, т.е. определяет, к какой ячейке памяти необходимо обратиться. Стековая память — область памяти, выделенная под стек.
Если и память, и УС назначаются программистом в области ОЗУ, то это программный стек. Он может быть организован в любом месте памяти, иметь любой объем. Можно организовать необходимое количество таких стеков, но все это должен делать сам программист, в том числе и управление стеком. Программные стеки широко используются при прикладном и системном программировании.
Аппаратные стеки используются в простых процессорах, например в калькуляторах. В них память выделяется на аппаратном уровне, как и УС. Они просты в использовании, но объем их всегда ограничен, алгоритм работы строго задан.
В компьютерах обычно используются аппаратно-программные стеки, в которых УС задан аппаратно, а вершину стека задает программист в области ОЗУ.
Итак, мы подробно рассмотрели некоторую минимальную совокупность блоков. Эта совокупность, достаточная для выполнения операций по обработке информации, условно называется процессором. Понятие «микропроцессор» предполагает процессор, выполненный с применением интегральной технологии.
Устройства ввода- вывода
Рассмотрим набор устройств ЭВМ, которые являются внешними по отношению к процессору. Прежде всего, обратим внимание на устройства связи с человеком. Одним из основных устройств ввода информации является клавиатура,манипулятор «мышь». Для вывода часто используются цветные алфавитно-цифровые и графические дисплеи(мониторы). Внешние устройства ЭВМ могут иметь различное назначение, различное конструктивное оформление и различные алгоритмы работы (машина построена по модульному принципу!), поэтому для согласования работы машины и внешнего устройства (ВУ) требуется специальная схема, которая называется интерфейсная картаили просто — интерфейс.