Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 275

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Рис. 4-29, Метод считывания (а) и временная диаграмма (б) токов возбуждения двухпроводной памяти типа 2,5D.

Г л а в а п я т а я

ПРОЦЕССОРЫ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ. АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ УСТРОЙСТВА И УСТРОЙСТВА УПРАВЛЕНИЯ

5-1. НАЗНАЧЕНИЕ И СОСТАВ ПРОЦЕССОРА

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

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

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

301

рийными устройствами выполняются в виде отдельных устройств, хотя в небольших ЦВМ могут конструктивно объединяться с процессором и использовать частично его оборудование.

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

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

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

Для обозначения этих составных частей операции ча­ сто используется термин «микрооперация», который мы также будем применять. Так, например, операция сло­ жения двух чисел может быть представлена как состоя­ щая из микроопераций передачи адресов операндов в адресный регистр, обращения к памяти, поразрядного сложения, добавления единиц переноса и др. Конкрет­ ный состав микроопераций и последовательность их вы­ полнения определяются системой команд, логической структурой и особенностями данной вычислительной си­ стемы. Для разных систем понятия «операция» и «мик­ рооперация» могут иметь различное содержание.

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

302


мирования функционального сигнала в данной микро­ операции.

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

Рис. 5-1. Упрощенная структурная схема процессора.

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

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

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

Арифметическое и логическое устройство (АЛУ) слу­ жит для выполнения арифметических и логических пре­ образований информации. В АЛУ производятся опера­ ции сложения, вычитания, умножения и деления, пораз­ рядные логические операции, сдвиги слов и др. В co­

r n

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

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

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

Кпрограммно-доступным регистрам относятся:

1)индексные регистры, в которых содержатся прира­ щения адресной части команды, используемые при ин­ дексации адресов;

2)базовые регистры, в которых содержатся базо­ вые адреса, позволяющие осуществлять относительную адресацию команд и операндов;

3)счетчик команд, содержащий адрес следующей ко­ манды, подлежащей исполнению, и др.

Ниже будет подробно пояснено назначение этих ре­ гистров.

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

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

304


Устройство управления вырабатывает необходимую последовательность функциональных сигналов для вы­ борки из памяти и выполнения команд.

Интерфейс процессора представляет собой совокуп­ ность состав схем, обеспечивающих связь процессора

соперативной памятью, с периферийными устройствами

ит д. (подробнее интерфейс процессора будет рассмот­

рен в гл. 10).

5-2. ВЫПОЛНЕНИЕ ПРОГРАММЫ В ПРОЦЕССОРЕ

Рассмотрим, как выполняется программа в процессоре на примере операции сложения двух чисел. Предполо­ жим, что слагаемые А и В размещены в определенных ячейках оперативного запоминающего устройства (ОЗУ).

Код

Адрес

Адрес

операции

операнда

команды

Рис. 5-2. Структура

команды.

Процессор должен выбрать слагаемые из ОЗУ в АЛУ, выполнить сложение, записать результат в ОЗУ и оста­ новиться.

Рассмотрим выполнение процессором программы сло­ жения двух чисел А и В, которые, как и сама программа, записаны в ОЗУ. Пусть команда имеет структуру, изо­ браженную на рис. 5-2. Код операции определяет тип подлежащей выполнению операции, например, сложение, вычитание, умножение или деление. Адрес операнда ука­ зывает номер ячейки ОЗУ, из которой выбирается опе­ ранд (число) для выполнения команды или в которую записывается результат операции. Адрес команды опре­ деляет номер ячейки ОЗУ, в которой размещена следу­ ющая команда. Будем считать, что команда содержит 10 десятичных цифр, из них две — для кода операции и по четыре — для адреса операнда и адреса следующей команды. Здесь десятичные числа используются нами для большей наглядности.

На рис. 5-3 показана упрощенная схема устройства управления и арифметического устройства, необходимая для иллюстрации процесса выполнения команд. Устрой­ ство управления содержит программный регистр (ре-

20—333

305


гистр команды), регистр кода операции и адресный ре­ гистр.

После считывания команды из памяти в программный регистр ее код операции передается в регистр кода опе­ рации, а адрес операнда — в адресный регистр. В за-

Связь с О З У

Устройcmво управления

Арисрмети ѵесное

 

устройство

Рис. 5-3. Упрощенная схема устройства управ­ ления и арифметического устройства.

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

Арифметическое устройство на схеме рис. 5-3 состоит из сумматора и аккумулятора, в котором образуются и хранятся результаты выполнения арифметических опе­ раций.

Примем следующие обозначения для кода операции: 01 — вызов операнда из ОЗУ в аккумулятор; 02 — запоминание содержимого аккумулятора в ОЗУ;

15 — сложение содержимого аккумулятора с содер­ жимым ячейки ОЗУ;

00 — останов.

Предположим, что число А размещено в ячейке 0641, число В — в ячейке 0 642, а результат необходимо пере­ дать в ячейку 0643 ОЗУ.

Тогда программа сложения чисел А и В будет иметь вид, приведенный в таблице.

Выполнение команды можно разделить на две фазы. В первой фазе производятся дешифрация и выполнение команды. После расшифровки каждая команда выпол-

306

Ячейка

Команда

Выполняемое действие

 

ОЗУ

 

2051

01 0641 2052

Вызов числа А из ячейки 0641 в ак­

 

 

кумулятор и переход к выборке

2052

15 0642 2053

команды из ячейки 2052

 

Сложение А

и В с передачей резуль­

 

 

тата в

аккумулятор

и

переход

 

 

к выборке команды из ячейки

2053

02 0643 2054

2053

 

 

 

Запоминание содержимого аккумуля­

 

 

тора в

ячейке 0643

и

переход

 

 

к выборке команды из ячейки

2054

00 0000 0000

2054

 

 

 

Останов

 

 

 

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

На рис. 5-4 показан процесс считывания, расшифров­ ки и выполнения команды из ячейки памяти с адресом 2053 приведенной выше программы сложения двух чисел.

Во время второй фазы предыдущей команды произ­ водится считывание команды из ячейки с адресом 2053

впрограммный регистр (рис. 5-4,а).

Втечение первой фазы выполнения данной команды вначале код операции передается в регистр кода опера­ ции, адрес операнда — в адресный регистр (рис. 5-4,6),'

азатем производится считывание операнда из памяти и добавление его к содержимому аккумулятора (рис. 5-4,в).

Во второй фазе адрес команды передается в адрес­ ный регистр (рис. 5-4, г) и следующая команда считыва­ ется в программный регистр (рис. 5-4,5).

Врассмотренном примере каждая команда содержит адрес следующей команды. Процессоры такой структу­ ры называются процессорами с принудительным (произ­ вольно заданным) порядком выполнения команд. Бо­

лее распространенными являются процессоры с естест­ венным выполнением команд. В процессорах такой струк­ туры команда не имеет поля с адресом команды. Адрес следующей команды образуется путем добавления еди-) ницы к адресу выполняемой команды. Для хранения этого адреса в блоке управляющих регистров имеется

20*

307


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

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

 

 

 

 

 

Программны и

регистр

 

 

ОЗУ

 

 

код

Адрес

Адрес

 

 

 

 

 

операціи операнде. команды

а) Считывание содержимого

 

 

01

0662

2053

 

---- 1--- ——V—

 

ячейки 2052 в пріограммный регибрір

\

 

 

6) Передача кода

операции

 

Регистр

Адресный

 

операции.

регистр

0 регистр

операции

и адреса

 

01

0662

операнда

в адресный регистр

 

 

 

 

 

 

 

 

 

 

 

АУ

в) Считывание

ОЗУ

 

Программный регистр

 

 

Нод

Адрес

Адрес

содержимого

 

 

 

 

ячейки 0602

 

 

 

операции операнда команды

и. слошшжениетіс со

 

 

 

 

g-j

g6gZ

г053

содержимым аккумулятора____ ■

01

0662

2053

 

 

 

------

г) Передача

адреса

команды

 

 

 

Адресный

 

 

 

регистр

В адресный регистр

 

 

 

 

2053

 

 

ОЗУ

Программный

регистр

д) Считыдание

 

 

Нод

Адрес

Адрес

 

 

 

 

 

2053

 

операции операнда

команды

содержимого ячейки

 

 

ог

0663

2056

В программный регистр

 

 

 

 

 

 

 

 

Рис. 5-4. Упрощенная диаграмма выполнения коман­ ды.

5-3. И НДЕКСАЦИЯ И У П РА В Л Я Ю Щ И Е СЛОВА

Основные понятия

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

308