Архив рубрики «Процессор»

Процессор

Центральным блоком, занимающимся обработкой информации в компьютере, является процессор.

Он выполняет операции над данными — операндами. Возможности использования ЭВМ определяются набором операций, которые может выполнять процессор. Этот набор операций называется системой команд. Ее объем является одной из главных характеристик ЭВМ. Для микроЭВМ система команд может содержать около сотни и более различных команд.

Помимо чисто арифметических и логических операций, процессор должен анализировать еще некоторые признаки (знак результата, переполнение разрядной сетки ЭВМ, нулевой результат и т.п.) и принимать соответствующие решения о дальнейших действиях. В качестве признака может выступать, например, уровень приоритета — состояние, при котором запрещено внешним устройствам запрашивать программы их обслуживания. Набор признаков формируется АЛУ (входящим в состав процессора) и запоминается в специальном многоразрядном регистре слова состояния процессора (ССП или регистр флагов).

Возможный вариант структуры процессора представлен на рисунке:

структура процессора

Итак, в ОЗУ записана программа решения задачи. Для того чтобы программа начала выполняться, нужно обратиться к первой команде, считать ее в процессор (запомнить в специальном регистре команд), передать на арифметико-логическое устройство (АЛУ) данные и организовать управление им в соответствии с кодом операции (КОП), записанным в команде. Но для этого необходимо знать, где находится первая (или очередная) команда, т.е. требуется указать номер ячейки или адрес команды.

Для выборки и хранения адреса команды существует специальное устройство, называемое счетчик адресов команд (СчК). В рассматриваемой машине счетчиком является регистр общего назначения R7. Содержимое счетчика машина воспринимает как адрес очередной команды. Для запуска программы в СчК необходимо записать ее начальный адрес. После выполнения очередной команды адрес автоматически изменяется (на 2), и счетчик указывает на следующую команду. Счетчик работает автоматически, пока не встретится команда останов или не произойдет сбой из-за неверной команды.

Если мы запишем в СчК нужный нам адрес, отличный от очередного, то заставим ЭВМ выполнять команду из другой части ОЗУ, в том числе и для другой задачи. Следовательно, записывая нужный нам адрес в СчК, мы можем изменять ход вычислительного процесса.

Команда, на адрес которой указывает СчК, записывается и хранится в регистре команд (РК) в течение времени, необходимого для ее реализации. Код команды поступает на программируемую логическую матрицу (ПЛМ), представляющую собой управляемый дешифратор. ПЛМ воспринимает КОП, запросы от ВУ, учитывает слово состояния процессора, формируемого в регистре флагов, текущее состояние АЛУ и вырабатывает адрес микрокоманды.

По этому адресу считывается микропрограмма, эмулирующая команду, находящуюся в регистре команд. Очередная микрокоманда поступает на дешифратор, формирующий сигналы управления АЛУ.

Текущее состояние АЛУ фиксируется в виде слова состояния процессора (ССП) в регистре флагов. Это слово представляет собой набор бит, характеризующих некоторые признаки, например, знак последнего результата, приоритет процессора, мода (режим работы) процессора, арифметическое переполнение – ситуацию, при которой возникает арифметическая ошибка, связанная с ограниченным машинным словом. Эти признаки используются на аппаратном уровне, системном и в прикладных программах, например, при организации условных переходов.

Первый и нулевой разряды ССП в данной машине при арифметических операциях несут информацию о переполнении «разрядной сетки», т.е. об ошибках, связанных с ограниченными размерами машинного слова.

Первый разряд называется V-разрядом, или признаком арифметического переполнения. Он взводится, например, при сложении больших положительных чисел, когда происходит перенос единицы из разрядов мантиссы в разряд знака.

В данном примере происходит перенос из четырнадцатого разряда в пятнадцатый. Однако пятнадцатый – знаковый разряд, единица в знаковом разряде означает отрицательное число, т.е., сложив два положительных числа, мы получим отрицательный результат. Эта ситуация может быть обнаружена по взведенному признаку V.

Нулевой разряд условно называется С-разрядом, или признаком переноса. Как правило, он взводится, если произошло переполнение знакового разряда, т.е. требуется перенос единицы из старшего 15-го разряда. Однако значение          С = 1 или V = 1 не всегда связано с аварийным завершением операции.

Например, при логических операциях переполнения может не быть, а признаки могут изменяться. При сложении двух отрицательных чисел результат должен быть отрицательным (пятнадцатый разряд равен 1), однако при этом может произойти перенос из четырнадцатого в пятнадцатый разряд или переполнение последнего. Тем не менее, признаки V и C будут равны 0.

При решении задачи исходные данные, как и программа, хранятся в ОЗУ. Однако не всегда целесообразно часть данных хранить в ОЗУ, поскольку это устройство является внешним по отношению к АЛУ и обращение к нему несколько затруднено. Предпочтительнее рядом с АЛУ иметь дополнительное запоминающее устройство, обращение к которому будет проще, а время обращения — меньше. Этой цели служит сверхоперативное запоминающее устройство на регистрах общего назначения (РОН). РОНы, а их всего 8, могут выполнять роль накопителей (хранить промежуточные и исходные данные) или же играть роль адресных регистров (хранить адреса операндов).

Еще одним устройством процессора является стек. Стек это память без произвольного доступа, имеющая один вход и один выход, память магазинного типа, действующая по принципу «первым вошел — последним вышел». Такая память используется тогда, когда требуется запомнить массив информации, а затем восстановить его в том же порядке.

Еще одним устройством процессора является стек

Стек бывает:

  • программным,
  • аппаратно-программным,
  • аппаратным.

Функционально он состоит из указателя стека (УС) и стековой памяти. Указатель стека обеспечивает управление записью и считыванием из стека, т.е. определяет, к какой ячейке памяти необходимо обратиться. Стековая память — область памяти, выделенная под стек.

Если и память, и УС назначаются программистом в области ОЗУ, то это программный стек. Он может быть организован в любом месте памяти, иметь любой объем. Можно организовать необходимое количество таких стеков, но все это должен делать сам программист, в том числе и управление стеком. Программные стеки широко используются при прикладном и системном программировании.

Аппаратные стеки используются в простых процессорах, например в калькуляторах. В них память выделяется на аппаратном уровне, как и УС. Они просты в использовании, но объем их всегда ограничен, алгоритм работы строго задан.

В компьютерах обычно используются аппаратно-программные стеки, в которых УС задан аппаратно, а вершину стека задает программист в области ОЗУ.

Итак, мы подробно рассмотрели некоторую минимальную совокупность блоков. Эта совокупность, достаточная для выполнения операций по обработке информации, условно называется процессором. Понятие «микропроцессор» предполагает процессор, выполненный с применением интегральной технологии.