Процессор

Процессор ЭВМ должен выполнять гораздо более сложные функции, чем просто складывать и вычитать двоичные числа. Рассмотрим более детально, в чем эти функции процессора должны состоять.

Как следует из фоннеймановских принципов, процессор ЭВМ должен обеспечивать выполнение тех или иных операций в соответствии с хранимыми в памяти командами, составляющими программу.

Пока на данном этапе ясно, что одним из элементов процессора должно быть арифметико-логическое устройство — АЛУ, необходимое для выполнения логических и арифметических операций над многоразрядными двоичными переменными.

Вспомним также, что в фоннеймановских принципах декларируется отсутствие в хранимых в общей памяти двоичных кодах команд и кодах данных каких-либо признаков, позволяющих отличать их друг от друга.

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

Оказывается, что решение этой задачи технически возможно при обязательном выполнении соглашения, которому необходимо следовать при размещении кодов команд и данных в ячейках памяти. Это соглашение состоит в том, что двоичные коды последовательно выполняемых команд программы обяза-

тельно должны записываться в последовательные ячейки памяти в том же порядке, в котором они должны выбираться для выполнения. Более точно его можно сформулировать так: если в коде команды не указано каким-либо образом, из какой ячейки должна выбираться следующая команда, то она должна выбираться из следующей по порядку ячейки памяти.

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

В соответствии с этим в любом фоннеймановском процессоре за формирование адреса следующей команды отвечает специальный элемент, так называемый регистрсчетчик команд (СК) (англ. Program Counter — PC). Очередная команда всегда должна выбираться из ячейки памяти, адрес которой в данный момент находится в этом регистре-счетчике, а после выборки из памяти кода команды по этому адресу содержимое регистра — счетчика команд автоматически увеличивается, чтобы указывать на адрес ячейки со следующей командой. Величина, на которую должно автоматически увеличиваться содержимое регистра — счетчика команд, определяется размером кода команд. Например, если в шестнадцатиразрядной ЭВМ команда имеет длину 16 разрядов, то есть два байта, то при байтовой организации памяти после выборки команды содержимое регистра — счетчика команд должно автоматически увеличиваться на 2.

Отметим, что такой алгоритм функционирования и использования регистра — счетчика команд является обязательным: содержимое ячейки памяти, адрес которой в данный момент находится в счетчике команд, всегда интерпретируется процессором как код команды, а не как данные. Адреса же ячеек памяти, в которых находятся необходимые для выполнения команды данные, должны каким-либо образом быть закодированы в коде самой команды. В тех специальных случаях, когда следующая команда должна быть выбрана из какой-либо другой, а не следующей ячейки памяти, не существует никакого другого способа, кроме принудительного изменения содержимого регистра — счетчика команд. Для этих целей (см. гл. 8 «Система команд ЭВМ и адресация операндов») существуют специальные команды, назначением которых является корректировка содержимого регистра — счетчика команд процессора.

Следующая проблема, которая должна быть решена в конструкции процессора, связана с тем, что выполнение любой команды ЭВМ практически всегда представляет собой последовательность элементарных действий-микроопераций, которые, в частности, могут также требовать обращения к памяти ЭВМ, например для выборки необходимых операндов. В связи с этим в составе процессора необходим элемент для временного запоминания кода команды на время ее выполнения процессором.

Для этих целей в процессоре служит специальный регистр — регистр команд (РК). При чтении команды из ячейки памяти, на которую указывает содержимое регистра — счетчика команд процессора, она помещается в процессоре именно в его регистр команд.

Из регистра команд код текущей команды поступает в устройство управления процессором. Именно в этом устройстве производится расшифровка и интерпретация кода команды для определения вида выполняемой ею операции и при необходимости определение адресов ее операндов, а также выработка соответствующих сигналов для управления арифметико-логическим устройством и другими элементами процессора для реализации действий, соответствующих выполняемой команде.

Далее в состав процессора должны входить запоминающие регистры для временного запоминания выбранных из ОЗУ операндов, необходимых для выполнения текущей команды. Очевидно, что, например, для выполнения с помощью АЛУ операции над двумя операндами они должны одновременно присутствовать на его входах, независимо от того, из каких ячеек памяти их перед этим выбрали.

Для таких целей могут использоваться, в частности, регистры общего назначения (РОН), функции которых не ограничиваются, однако, ролью временной внутренней быстродействующей памяти процессора. Они также играют важную роль для реализации разнообразных методов адресации операндов,

то есть способов указания местонахождения операндов, используемых в командах ЭВМ.

Неотъемлемым элементом фоннеймановского процессора является региструказатель стека (УС) (англ. Stack Pointer — SP). Это регистр процессора, предназначенный для организации в памяти ЭВМ аппаратно управляемого стека, то есть совокупности ячеек памяти, доступ к которым осуществляется не по адресу, а через так называемую «вершину стека». Содержимое регистрауказателя стека интерпретируется процессором как адрес ячейки памяти, являющейся вершиной стека. Об организации и целях использования стека будет говориться ниже в соответствующих разделах. Отметим, в частности, что стек необходим для реализации в ЭВМ механизмов работы с подпрограммами и обслуживания внешних и внутренних прерываний программы.

Важную специальную роль в фоннеймановском процессоре играет регистр, называемый регистром состояния процессора (PC). Выше при рассмотрении особенностей выполнения в ЭВМ арифметических операций над двоичными числами без знака и со знаком отмечалось, что из-за ограниченного количества разрядов представимых в ЭВМ двоичных чисел неизбежны ситуации, когда результат выполняемой операции оказывается неправильным. Для отражения признаков, характеризующих результат последней выполненной операции, служит этот регистр состояния процессора. В определенных разрядах этого регистра указывается состояние результата выполнения процессором текущей операции (команды).

Это обычно следующие разряды — признаки (флаги) состояния результата операции:

  • • признак наличия переноса из старшего разряда (С);
  • • признак наличия арифметического переполнения (V);
  • • признак нулевого результата (Z);
  • • признак отрицательного результата (N).

Возвращаясь к приведенной на рис. 6.1 структуре фоннеймановского процессора, еще раз отметим важность понимания того, что необходимость наличия каждого из присутствующих в его составе элементов фактически вытекает из сформулированных принципов реализации ЭВМ.

Процессор занимает центральное место в структуре ЭВМ, так как именно он осуществляет управление взаимодействием всех устройств, входящих в состав ЭВМ.

Важнейшими характеристиками процессора ЭВМ являются следующие.

  • Разрядность процессора — количество разрядов двоичных кодов и чисел, над которыми он может совершать операции (например, 16-разрядные процессоры PDP-11, Intel 80286, 32-разрядные VAX-11, Intel 80386 и 80486, Pentium, современные 64-разрядные процессоры).
  • Система команд процессора — состав команд, которые данный процессор может выполнять, а также способ их представления, интерпретации и выполнения.
  • Быстродействие процессора. Оно обычно характеризуется количеством операций определенного типа, выполняемых процессором в секунду. Косвенным показателем быстродействия процессора является также его тактовая частота: чем выше частота, тем больше быстродействие.

Говоря о базовой структуре ЭВМ, схематично представленной на рис. 6.1, следует отметить шинную организацию коммуникаций между устройствами, входящими в состав ЭВМ, роль которой стала все более значительной в связи со все большей миниатюризацией основных ее блоков. Большинство современных ЭВМ имеют шинную организацию. Это позволяет существенно сократить общее число линий связи между блоками ЭВМ. Обычно (см. рис. 6.1) шина ЭВМ функционально делится на три группы линий связи: адресную шину, шину данных и шину управления. Адресная шина переносит информацию о том, где искать инструкции (команды) или данные в памяти ЭВМ, то есть адреса соответствующих ячеек памяти; шина данных переносит эти данные или инструкции для центрального процессора; шина управления обеспечивает передачу сигналов управления между процессором и подключенными к ЭВМ устройствами. При этом каждая шина может в разные моменты времени использоваться для двухсторонней связи между разными устройствами, входящими в состав ЭВМ.

Внешние устройства

Наиболее часто в вычислительных системах применяются следующие внешние, или периферийные, устройства:

внешние запоминающие устройства (ВЗУ), предназначенные для долговременного хранения больших объемов ин-

формации (накопители на магнитных дисках, на магнитных лентах, CD ROM и др.);

  • клавиатура — устройство, предназначенное для ввода информации в ЭВМ, осуществляющее генерацию двоичного кода в соответствии с нажатой клавишей или комбинацией клавиш;
  • • манипуляторы: «мышь» и джойстик;
  • видеомонитор — устройство для отображения на экране выводимой пользователю информации;
  • печатающие устройства и графопостроители, предназначенные для вывода текстовой или графической информации путем ее печати на бумаге;
  • сканеры — устройства оцифровки изображения и его ввода в ЭВМ;
  • модемы, сетевые интерфейсы — для обмена информацией между ЭВМ по линиям связи.

Могут применяться также и другие внешние устройства.

Контрольные вопросы

  • 1. Общая структура вычислительной системы, назначение ее элементов.
  • 2. Процессор ЭВМ, его компоненты и их назначение.
  • 3. Какой элемент процессора предназначен для указания адреса команды, которую следует выбирать из памяти для выполнения?
  • 4. Назначение регистра — счетчика команд, почему он так называется?
  • 5. Для чего в процессоре нужно устройство управления?
  • 6. Для чего нужен регистр команд процессора?
  • 7. Для чего нужен регистр состояния процессора?
  • 8. Для чего нужен в процессоре регистр — указатель стека?
  • 9. Регистры общего назначения; для чего они используются?
  • 10. Что такое разрядность ЭВМ, параметры каких элементов ЭВМ она определяет?
  • 11. Регистр адреса памяти, регистр данных памяти, где они расположены, их назначение.
  • 12. Чем определяется размер физической памяти ЭВМ?
  • 13. Можно ли обращаться к ячейкам памяти, не указывая их адреса?
  • 14. Что такое канал (шинная организация) ЭВМ?

Глава 7

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >