Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.04.2024
Просмотров: 208
Скачиваний: 0
результат операции; г) какая должна выполняться сле дующая команда (откуда она должна быть взята).
Различным выполняемым машиной операциям (сло жению, вычитанию, умножению, операции ввода инфор мации и др.) присваиваются определенные цифровые ко ды. Различные машины имеют различные наборы вы полняемых операций (системы команд) и различные системы кодов для обозначения этих операций. Системы команд современных вычислительных машин и систем содержат 100—200 различных операций и соответствен но команд.
Напомним, как уже отмечалось в § 1-2, что в коман де обычно указываются не сами операнды, а лишь ад реса (номера) ячеек памяти, где эти операнды нахо дятся.
В команде должны быть указаны в явной или не в яв ной форме адрес ячейки памяти, в которую должен быть помещен результат операции, и адрес ячейки, содержа щей следующую команду.
На рис. 2-7 показаны различные структуры кода команды. Обычно код команды имеет формат машинно го слова или полуслова, а в некоторых машинах для представления команд используется несколько различ ных форматов.
Команда состоит из операционной части и адресной части. Операционная часть содержит наименование вы полняемой операции, закодированное в виде двоичного числа. Количество двоичных разрядов, отведенных под код операции, должно быть достаточно для изображе ния всех операций, предусмотренных в машине. Если машина выполняет N различных операций, то число раз рядов в коде операций должно быть не меньше !og2 A\
В наиболее общем случае адресная часть должна со держать четыре адреса (рис. 2-7, а) для указания ячеек, содержащих два операнда, участвующих в операции, ячейки, в которую помещается результат операции, и ячейки, содержащей следующую команду. Такой поря док выборки команд называется принудительным. Он применялся в некоторых первых моделях вычислитель ных машин. Четырехадресные команды в настоящее вре мя не применяются. Можно условиться, как это принято для большинства машин, что после выполнения данной команды, расположенной в ячейке k, выполняется коман да из следующей по порядку (&+1) ячейки. Такой по-
89
рядок выборки команд называется естественным. Он на рушается только специальными командами. При есте ственном порядке теряется необходимость в четвертом
|
|
/Сод |
дердб/и |
Второй |
Третий |
9етдертб/й\ |
||
|
|
адрес |
адрес |
|
адрес |
|
|
|
|
операции |
|
І Т |
|
||||
|
/А |
2А |
|
JA |
і |
|||
|
|
|
|
а ) |
|
|
|
|
|
|
/Сод |
/./ердб/й |
âmopoü |
Третий |
|
|
|
|
|
адрес |
адрес |
|
адрес |
|
|
|
|
'{операции |
|
|
|
||||
|
/А |
2А |
|
JA |
|
|
||
|
|
|
|
|
|
|||
|
|
|
|
б) |
|
|
|
|
|
|
« л \ |
|
Второй |
/Сад |
|
|
|
|
|
7^ |
адрес |
|
Адрес А |
j |
||
|
операции, |
|
операции |
|||||
|
|
|
|
2А |
|
|
- - - - - - - - - - |
- - - - !- - - - - - - |
|
|
|
|
|
|
|
||
|
|
|
У |
|
|
|
г) |
|
|
|
/сод |
Адрес А |
Улазателб |
|
|
|
|
|
|
зало |
4Уале илдел- |
|
|
|||
|
|
лерации |
|
лил |
|
сации |
|
|
|
|
|
|
д ) |
|
кодов команд. |
|
|
а |
— |
|
Рис. 2-7. Структура |
|
г — одноадресная; |
|||
|
четырехадресная; б — трехадресная; |
в — двухадресная; |
д — одноадресная с дополнительным указателем.
адресе, и мы приходим к трехадресным командам (рис. 2-7 б).
В трехадресной команде первый и второй адреса ука зывают ячейки памяти, в которых расположены операн ды, а третий адрес определяет ячейку, в которую поме щается результат операции. Операция, описываемая трехадресной командой, может быть символически пред ставлена в виде:
(1А)*(2А)->ЗА,
где знак * заменяет символ операции («+», «—» и т. п.). При двухадресной команде (рис. 2-7, в) результат операции замещает один из операндов, обычно первый:
{\А) * (2Л) -> ІА,
В одноадресной команде (рис. 2-7, г) один из операн дов указывается адресом в команде, в качестве второго операнда используется содержимое одного из триггер-
90
ных регистров машины, результат операции замещает предыдущее содержание триггерного регистра
(А)• (Регистр) -> (Регистр).
Сточки зрения программиста наиболее естественны и удобны трехадресные команды. Однако наблюдаемое в современных машинах возрастание емкости оперативной памяти требует удлинения кодов адресов в команде с тем, чтобы сделать возможным обращение к любой ячейке памяти. Кроме того, с развитием систем команд увеличивается общее количество выполняемых машиной команд и число их модификаций, что приводит к необхо
димости увеличивать число разрядов в команде, отводи мое для кодирования типа операции и ее особенностей. В результате длина трехадресной команды становится недопустимо большой и ее не удается разместить в ма шинном слове.
Следует отметить, что очень часто в качестве операн дов используются результаты предыдущих операций, хранимые в триггерных регистрах машины. В этом слу чае выполняемая операция приобретает характер одноили двухадресный, а трехадреснйй формат используется неэффективно.
По указанным причинам в современных вычислитель ных машинах применяют, как правило, одноадресные и, реже, двухадресные команды.
В команды часто вводят дополнительные указатели, определяющие особенности данной операции, особенно сти образования адресов и т. п. Так, например, в одноад ресную команду может быть введен дополнительный разряд, который указывает, должен ли результат опера ции остаться только в триггерном регистре либо он должен быть также записан в память по адресу операн
да (рис. |
2-7, д). В |
последнем |
случае |
одноадресная |
|||
команда |
приобретает |
свойства, характерные |
для двух |
||||
адресного формата. Количество и функции |
указателей |
||||||
особенностей операции в разных |
машинах |
различны. |
|||||
Очень часто в команду вводят |
специальное поле ин |
||||||
дексации, которое управляет |
процедурой |
образования |
|||||
адреса обращения к памяти |
(рис. 2-7, д). |
Если это поле |
|||||
содержит нуль, то в |
качестве адреса |
используется, как |
|||||
обычно, адресная часть команды. |
Если же это поле не |
||||||
равно нулю, то адрес |
образуется путем прибавления к |
||||||
адресной части команды содержимого |
специального ре- |
||||||
|
|
|
|
|
|
|
9і |
>
гистра, называемого индексным регистром. Машина мо- - жет содержать несколько индексных регистров, в этом случае поле индексации указывает номер используемого в данной команде индексного регистра. Индексация яв ляется мощным средством сокращения длины программ
иускорения их выполнения.
Вмашинах с естественным порядком исполнения
команд после выполнения очередной команды выбирает ся для исполнения команда, расположенная в следую щей по порядку ячейке памяти. Обычно адрес команд хранится в специальном регистре, называемом счетчи ком команд, содержимое которого после выполнения каждой команды автоматически увеличивается на еди ницу или несколько единиц, если ЦВМ имеет no-байт ную адресацию и команда содержит несколько байтов. Таким образом, адрес следующей команды является подразумеваемым. В тех случаях, когда по характеру задачи этот естественный порядок должен быть нару шен, используются операции перехода, формирующие нужным образом адрес следующей команды. Для этой цели в программу включают специальные команды пере хода. Известны многочисленные варианты команд пере хода, однако общий принцип состоит в том, что адрес ная часть команды перехода передается в счетчик ко манд, и, следовательно, после данной команды может быть выполнена команда из произвольной ячейки памя ти, номер которой записан в адресной части команды пе рехода.
Различают два основных вида операций перехода: операции безусловного перехода и операции условного перехода. Эти операции реализуются командами безу словного и условного перехода.
При безусловном переходе формирование адреса сле дующей команды происходит всегда по одному и тому же определенному правилу и переход совершается всег да независимо от каких-либо условий. Обыкновенно при безусловном переходе следующей за командой безуслов ного перехода выполняется команда, адрес которой ука зан в адресной части команды безусловного перехода.
При условном переходе правило формирования адре са следующей команды зависит от выполнения некото рого условия. Обычно по команде условного перехода выполняется переход к команде по адресу, записанному в адресной части команды, в том случае, если выполня
92
ются некоторые условия, указываемые кодом операции команды перехода. Такими условиями могут быть, на пример, равенство результата предыдущей операции ну лю, наличие переполнения при сложении, совпадение двух чисел. Если указанное кодом условие не выполня ется, то после команды условного перехода выбирается следующая по порядку команда, адрес которой опреде ляется, как обычно, содержимым счетчика команд, уве личенным на единицу.
Команды условных переходов позволяют реализовать программы с разветвлениями в зависимости от проме жуточных результатов вычислений или состояния ма шины.
Весьма важным случаем являются так называемые переходы к подпрограммам. Переходы к подпрограммам отличаются тем, что после выполнения подпрограмм не обходимо обеспечить возврат к продолжению исходной программы с той точки ее, откуда был ранее совершен переход. Обычно для переходов к подпрограммам ис пользуется специальная команда перехода с запомина нием. По этой команде сначала содержимое счетчика команд (увеличенное на единицу) запоминается по ад ресу Л, указанному в команде перехода, а затем в счет чике команд образуется число Л + 1. Подпрограмма на чинается с адреса Л + 1, а в ячейке А запоминается адрес команды, к которой следует вернуться после выполнения подпрограммы («возврат к исходной программе»). В конце подпрограммы должна быть размещена «коман да возврата», которая представляет собой особую команду безусловного перехода, в которой указывается не адрес подлежащей выполнению команды, а адрес ячейки, в которой находится адрес команды («косвенная адресация»). Если в команде возврата в качестве кос венного указан адрес А, то содержание счетчика команд, хранимое в Л, будет восстановлено и исходная програм ма продолжит свою работу.
2-8. Н А Т У Р А Л Ь Н Ы Е И М А Ш И Н Н Ы Е Е Д И Н И Ц Ы И Н Ф О Р М А Ц И И
Из предыдущего изложения видно, что используемые человеком при научно-технических расчетах, обработке экономической, планово-производственной и другой ин формации, при программировании задач натуральные
93
формы представления и натуральные единицы информа ции существенно отличаются от форм представления
иединиц информации в машине.
Сцелью систематизации приведенных выше сведений
по кодированию и представлению информации в ЦВМ рассмотрим иерархию натуральных и соответствующих машинных единиц информации (в порядке возрастания размеров единиц информации):
Натуральные единицы |
|
Машинные единицы |
|
|||
информации |
|
|
информации |
|
||
Разряд |
|
Разряд |
|
|
||
Символ |
|
Слог |
(байт) |
|
|
|
Поле (число, реквизит) |
Слово |
(запись) |
|
|||
Запись |
|
Фраза |
|
|||
Массив |
|
Блок |
|
|
|
|
|
Файл |
|
с лентой, |
|||
|
|
Том |
(катушка |
|||
|
|
пакет |
дисков, |
пачка пер |
||
|
|
фокарт и т. п.) |
|
|
||
В натуральной системе наименьшая единица инфор |
||||||
мации— десятичный |
разряд, |
а |
при записи |
команд |
||
ЦВМ — шестнадцатиричный |
(восьмеричный) |
разряд |
||||
или двоичный разряд. |
|
|
|
|
|
|
Как было указано в § 2-6, символом называется знак, |
||||||
изображающий цифру, букву, |
математический |
знак, |
||||
знак препинания и др. |
имеющих |
определенное |
||||
П оле— группа |
символов, |
значение и подвергающихся обработке за одну и ту же арифметическую или логическую операцию. Этому опре делению соответствуют: многоразрядное число, команда,
группа символов, обозначающих |
определенный |
приз |
||
нак— реквизит какого-либо объекта (например, |
фами |
|||
лия или год рождения |
некоторого лица, |
наименование |
||
Фамилия |
ААі зачетной |
Дисииплина |
|
|
к н и ж к и |
|
|||
СТЕПАНОВ |
г 7305 |
ЦВМ |
5 |
|
Рис. 2-8. Пример записи.
(шифр) детали, вес детали и т д.). Запись представляет собой группу полей, описывающих признаки (свойства,
94
характеристики, параметры) некоторого объекта. На рис. 2-8 в качестве примера записи приведена строка эк заменационной ведомости. Каждый из реквизитов (при знаков)— фамилия, номер зачетной книжки и т. д. — яв ляется полем. В нашем примере входящие в запись поля объединены тем, что все они относятся к определенному студенту.
Массив, представляя собой объединение записей, опи сывает некоторое множество объектов. При этом каж дая запись характеризует отдельный элемент этого мно жества. Примером информационного массива является экзаменационная ведомость (или совокупность экзамена ционных ведомостей) учебной группы, курса, факультета и т. д., состоящая из записей, подобных рис. 2-8. Обра ботка информационного массива обычно производится последовательно по одной записи.
Вавтоматизируемой системе управления имеют дело
ссистемой информационных массивов, содержащих мно гоаспектное описание объекта управления. Например, если таким объектом является вуз, то система массивов содержит массивы с информацией о студентах, препода вателях, учебных планах, аудиторном фонде, результа тах зачетов и экзаменов и т. д.
Перейдем к рассмотрению соответствующих машин ных единиц информации. Любая единица информации представляется в ЦВМ в виде двоичного кода.
Наименьшая машинная единица информации — дво ичный разряд (бит).
Слогом называется группа двоичных разрядов, изоб ражающая символ в ЦВМ. Для представления символа
вЦВМ наиболее часто используется 8-разрядный слог, называемый байтом. В настоящее время байт стал ос
новной машинной единицей информации. Емкость запо минающих устройств обычно оценивается в байтах, ско рость передачи информации между отдельными устрой ствами ЦВМ — количеством байтов, передаваемых в се кунду.
Словом называют группу символов (разрядов) в па мяти ЦВМ, соответствующую некоторому полю. Обычно термин «машинное слово» относят к коду определенной длины, который считывается из ОЗУ или записывается в ОЗУ за одно обращение. Машинное слово может пред ставлять собой: двоичное число с плавающей или фикси рованной запятой, команду, несколько слогов (байтов),
95
представляющих алфавитно-цифровые символы, несколь ко десятичных цифр. Машинное слово может также со держать дополнительные разряды (разряд контроля по четности, разряды защиты памяти и др.).
Обычно машинное слово и, в частности, команда со держит целое число байтов.
Фиксированный формат слова, не вызывая затрудне ний при представлении чисел в вычислительных задачах, упрощает построение ЦВМ с высокой скоростью работы. Разные задачи предъявляют различные требования к точности вычислений. Поэтому целесообразно, чтобы ЦВМ могла выполнять операции не только со словами, но и с полусловами и словами двойной длины.
При обработке экономической, плановой, учетной и другой информации требуются хранение и обработка данных переменного формата. Поэтому в системах обра ботки данных предусмотрено выполнение операций над данными переменной длины.
Машинная единица информации, соответствующая натуральной единице-записи, называется фразой (или также записью). Она может занимать несколько машин ных слов.
Блоком называют группу фраз (записей), располо женных компактно (без промежутков) на носителе внешнего ЗУ и записываемых на носитель из ОЗУ, а так
же считываемых с носителя в ЗОУ |
одной |
командой. |
||||
В частности, |
блоком |
может быть |
группа |
чисел или |
||
команд. Среди |
натуральных единиц |
информации нет |
||||
единицы, соответствующей блоку. |
|
|
|
|||
Место в запоминающем |
устройстве |
на |
магнитной |
|||
ленте, в котором хранится |
группа слов, |
составляющих |
||||
блок, называется зоной. Число слов |
(байтов) |
в блоке |
||||
(зоне) ограничивается |
конструктивными |
параметрами |
ЦВМ, размером поля в команде, используемом для ука зания числа слов (байтов), участвующих в операции об
мена информацией с периферийным |
устройством. Это |
|
число не может превышать количество ячеек ОЗУ. |
||
Информационному массиву |
соответствует машинная |
|
единица информации — файл. |
Файл |
состоит в общем |
случае из нескольких блоков, расположение файлов на магнитных лентах и дисках опйсано в гл. 6.
Томом называется машинная единица информации, соответствующая катушке с магнитной лентой, пакету дисков, пачке перфолент и т. п.
96