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

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

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

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

Добавлен: 09.04.2024

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

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

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

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

Различным выполняемым машиной операциям (сло­ жению, вычитанию, умножению, операции ввода инфор­ мации и др.) присваиваются определенные цифровые ко­ ды. Различные машины имеют различные наборы вы­ полняемых операций (системы команд) и различные системы кодов для обозначения этих операций. Системы команд современных вычислительных машин и систем содержат 100—200 различных операций и соответствен­ но команд.

Напомним, как уже отмечалось в § 1-2, что в коман­ де обычно указываются не сами операнды, а лишь ад­ реса (номера) ячеек памяти, где эти операнды нахо­ дятся.

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

На рис. 2-7 показаны различные структуры кода команды. Обычно код команды имеет формат машинно­ го слова или полуслова, а в некоторых машинах для представления команд используется несколько различ­ ных форматов.

Команда состоит из операционной части и адресной части. Операционная часть содержит наименование вы­ полняемой операции, закодированное в виде двоичного числа. Количество двоичных разрядов, отведенных под код операции, должно быть достаточно для изображе­ ния всех операций, предусмотренных в машине. Если машина выполняет N различных операций, то число раз­ рядов в коде операций должно быть не меньше !og2 A\

В наиболее общем случае адресная часть должна со­ держать четыре адреса (рис. 2-7, а) для указания ячеек, содержащих два операнда, участвующих в операции, ячейки, в которую помещается результат операции, и ячейки, содержащей следующую команду. Такой поря­ док выборки команд называется принудительным. Он применялся в некоторых первых моделях вычислитель­ ных машин. Четырехадресные команды в настоящее вре­ мя не применяются. Можно условиться, как это принято для большинства машин, что после выполнения данной команды, расположенной в ячейке k, выполняется коман­ да из следующей по порядку (&+1) ячейки. Такой по-

89

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

 

 

/Сод

дердб/и

Второй

Третий

9етдертб/й\

 

 

адрес

адрес

 

адрес

 

 

 

операции

 

І Т

 

 

 

JA

і

 

 

 

 

а )

 

 

 

 

 

 

/Сод

/./ердб/й

âmopoü

Третий

 

 

 

 

адрес

адрес

 

адрес

 

 

 

'{операции

 

 

 

 

 

JA

 

 

 

 

 

 

 

 

 

 

 

 

б)

 

 

 

 

 

 

« л \

 

Второй

/Сад

 

 

 

 

7^

адрес

 

Адрес А

j

 

операции,

 

операции

 

 

 

 

 

 

- - - - - - - - - -

- - - - !- - - - - - -

 

 

 

 

 

 

 

 

 

 

У

 

 

 

г)

 

 

 

/сод

Адрес А

Улазателб

 

 

 

 

 

зало

4Уале илдел-

 

 

 

 

лерации

 

лил

 

сации

 

 

 

 

 

 

д )

 

кодов команд.

 

 

а

 

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

 

г — одноадресная;

 

четырехадресная; б — трехадресная;

в — двухадресная;

д — одноадресная с дополнительным указателем.

адресе, и мы приходим к трехадресным командам (рис. 2-7 б).

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

(1А)*(2А)->ЗА,

где знак * заменяет символ операции («+», «—» и т. п.). При двухадресной команде (рис. 2-7, в) результат операции замещает один из операндов, обычно первый:

{\А) * (2Л) -> ІА,

В одноадресной команде (рис. 2-7, г) один из операн­ дов указывается адресом в команде, в качестве второго операнда используется содержимое одного из триггер-

90


ных регистров машины, результат операции замещает предыдущее содержание триггерного регистра

(А)(Регистр) -> (Регистр).

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

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

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

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

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

да (рис.

2-7, д). В

последнем

случае

одноадресная

команда

приобретает

свойства, характерные

для двух­

адресного формата. Количество и функции

указателей

особенностей операции в разных

машинах

различны.

Очень часто в команду вводят

специальное поле ин­

дексации, которое управляет

процедурой

образования

адреса обращения к памяти

(рис. 2-7, д).

Если это поле

содержит нуль, то в

качестве адреса

используется, как

обычно, адресная часть команды.

Если же это поле не

равно нулю, то адрес

образуется путем прибавления к

адресной части команды содержимого

специального ре-

 

 

 

 

 

 

 

>


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

иускорения их выполнения.

Вмашинах с естественным порядком исполнения

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

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

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

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

92

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

Команды условных переходов позволяют реализовать программы с разветвлениями в зависимости от проме­ жуточных результатов вычислений или состояния ма­ шины.

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

2-8. Н А Т У Р А Л Ь Н Ы Е И М А Ш И Н Н Ы Е Е Д И Н И Ц Ы И Н Ф О Р М А Ц И И

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

93


формы представления и натуральные единицы информа­ ции существенно отличаются от форм представления

иединиц информации в машине.

Сцелью систематизации приведенных выше сведений

по кодированию и представлению информации в ЦВМ рассмотрим иерархию натуральных и соответствующих машинных единиц информации (в порядке возрастания размеров единиц информации):

Натуральные единицы

 

Машинные единицы

 

информации

 

 

информации

 

Разряд

 

Разряд

 

 

Символ

 

Слог

(байт)

 

 

Поле (число, реквизит)

Слово

(запись)

 

Запись

 

Фраза

 

Массив

 

Блок

 

 

 

 

Файл

 

с лентой,

 

 

Том

(катушка

 

 

пакет

дисков,

пачка пер­

 

 

фокарт и т. п.)

 

 

В натуральной системе наименьшая единица инфор­

мации— десятичный

разряд,

а

при записи

команд

ЦВМ — шестнадцатиричный

(восьмеричный)

разряд

или двоичный разряд.

 

 

 

 

 

Как было указано в § 2-6, символом называется знак,

изображающий цифру, букву,

математический

знак,

знак препинания и др.

имеющих

определенное

П оле— группа

символов,

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

группа символов, обозначающих

определенный

приз­

нак— реквизит какого-либо объекта (например,

фами­

лия или год рождения

некоторого лица,

наименование

Фамилия

ААі зачетной

Дисииплина

 

к н и ж к и

 

СТЕПАНОВ

г 7305

ЦВМ

5

 

Рис. 2-8. Пример записи.

(шифр) детали, вес детали и т д.). Запись представляет собой группу полей, описывающих признаки (свойства,

94


характеристики, параметры) некоторого объекта. На рис. 2-8 в качестве примера записи приведена строка эк­ заменационной ведомости. Каждый из реквизитов (при­ знаков)— фамилия, номер зачетной книжки и т. д. — яв­ ляется полем. В нашем примере входящие в запись поля объединены тем, что все они относятся к определенному студенту.

Массив, представляя собой объединение записей, опи­ сывает некоторое множество объектов. При этом каж­ дая запись характеризует отдельный элемент этого мно­ жества. Примером информационного массива является экзаменационная ведомость (или совокупность экзамена­ ционных ведомостей) учебной группы, курса, факультета и т. д., состоящая из записей, подобных рис. 2-8. Обра­ ботка информационного массива обычно производится последовательно по одной записи.

Вавтоматизируемой системе управления имеют дело

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

Перейдем к рассмотрению соответствующих машин­ ных единиц информации. Любая единица информации представляется в ЦВМ в виде двоичного кода.

Наименьшая машинная единица информации — дво­ ичный разряд (бит).

Слогом называется группа двоичных разрядов, изоб­ ражающая символ в ЦВМ. Для представления символа

вЦВМ наиболее часто используется 8-разрядный слог, называемый байтом. В настоящее время байт стал ос­

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

Словом называют группу символов (разрядов) в па­ мяти ЦВМ, соответствующую некоторому полю. Обычно термин «машинное слово» относят к коду определенной длины, который считывается из ОЗУ или записывается в ОЗУ за одно обращение. Машинное слово может пред­ ставлять собой: двоичное число с плавающей или фикси­ рованной запятой, команду, несколько слогов (байтов),

95

представляющих алфавитно-цифровые символы, несколь­ ко десятичных цифр. Машинное слово может также со­ держать дополнительные разряды (разряд контроля по четности, разряды защиты памяти и др.).

Обычно машинное слово и, в частности, команда со­ держит целое число байтов.

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

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

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

Блоком называют группу фраз (записей), располо­ женных компактно (без промежутков) на носителе внешнего ЗУ и записываемых на носитель из ОЗУ, а так­

же считываемых с носителя в ЗОУ

одной

командой.

В частности,

блоком

может быть

группа

чисел или

команд. Среди

натуральных единиц

информации нет

единицы, соответствующей блоку.

 

 

 

Место в запоминающем

устройстве

на

магнитной

ленте, в котором хранится

группа слов,

составляющих

блок, называется зоной. Число слов

(байтов)

в блоке

(зоне) ограничивается

конструктивными

параметрами

ЦВМ, размером поля в команде, используемом для ука­ зания числа слов (байтов), участвующих в операции об­

мена информацией с периферийным

устройством. Это

число не может превышать количество ячеек ОЗУ.

Информационному массиву

соответствует машинная

единица информации — файл.

Файл

состоит в общем

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

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

96