Терминология в области ЭВМ, ВС и комплексов

Автор работы: Пользователь скрыл имя, 19 Марта 2014 в 06:15, лекция

Описание работы

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

Файлы: 1 файл

Kurs_lektsy.doc

— 3.36 Мб (Скачать файл)

Управляющий сигнал микрооперации и его метка, рассматриваемая как переменная, принимают лишь два значения: 1 - микроопераций возбуждается, 0 - микрооперация не возбуждается.

Рис. 3.2. Микрооперация: передача адреса А, из регистра РгК в регистр РгА

Один управляющий сигнал (метка) может инициировать выполнение в одном такте нескольких микрооператоров. Тогда последние записываются подряд и отделяются друг от друга запятыми, Знак ; служит разделением тактов. Например, пусть ПРИЕМ из счетчика команд СчК (рис. 3.3) в регистр РгВ и из регистра РгД в СчК выполняются за один такт.

Рис. 3.4. Микрооперации счетчика

Тогда можно записать

ПрДСчКВ : РгВ := СчК, СчК := РгД;

Рассмотрим еще некоторые примеры микроопераций.

Приращение счетчика. В счетчике на рис. 3.4 определены микрооперации: установка в О (УОСч), прием кода с шины ШИВх (ПрСч) и увеличение содержимого счетчика на 1 (+1Сч). Последнюю микрооперацию можно записать в виде +1Сч : Сч := Сч+1;

Сдвиг. Различают сдвиги арифметический, логический, циклический. В описаниях микроопераций на языке ЯМ им соответствуют обозначения СдвА , СдвЛ, СдвЦ. Далее за этим обозначением указываются направление сдвига (правый П или левый JI) и в скобках количество разрядов, на которое производится сдвиг. Например, описание микрооперации арифметического сдвига содержимого регистра С на 4 разряда вправо имеет вид:

Сдв : РгС := СдвАП (4) РгС;

При арифметическом сдвиге знаковый разряд не сдвигается. Освобождающиеся при сдвиге разряды заполняются 0. Выдвигающиеся из регистра разряды теряются. При логическом сдвиге сдвигаются все разряды кода, включая знаковый разряд. При циклическом сдвиге крайние разряды регистра соединяются между собой так, что выдвигающиеся из крайнего разряда регистра биты поступают в другой его крайний разряд. Сдвиг часто реализуется путем «косой передачи» слова из одного регистра в другой. Микрооперации передачи содержимого РгА в РгВ со сдвигом на к разрядов вправо или влево обозначаются СдвК : РгВ := П (к) РгА;

СдвК : РгВ := Л (к) РгА;

Конкатенация или составление слова. Пусть, например, в регистр В должно быть передано слово, отдельные разряды которого соответствуют содержимому некоторых разрядов регистра А, счетчика Сч, триггера переполнения ТгП и константе 0, как это показано на рис. 3.5. Описание соответствующей микрооперации имеет вид:

ПрРгВ : РгВ [1 - 16] := РгА [8 - 15] | Сч [0 - 3] ТгП | 000;

Вертикальная линия является знаком операции составления слова.

Микрооператор перехода

идти к М позволяет задавать в микропрограмме переход к микрооператору с меткой М.

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

если (условие) то микрооператор (ы) (или метка) иначе микрооператор (ы) (или метка);

если (условие) то микрооператор (ы) (или метка);

Вместо микрооператора в условном микрооператоре может стоять метка, отсылающая к микрооператору, определенному в другом месте микропрограммы.

Для записи микрооперации можно воспользоваться также условным микрооператором вида (для двухместных операций)

РгА [к - к+1] := если [условие] то РгВ [m - m+1]* РгС [n - n+1] иначе РгД [р - р+1]*РгЕ [q - q+1];

Условие можно представить как равенство (или отсутствие равенства) содержимого некоторого регистра (или разряда регистра) определенной величине, например См=0 или РгА [0]=0, или в форме неравенства См>0, или в виде логической функции двоичных переменных, в качестве которых могут выступать значения определенных разрядов регистров. В последнем случае условие выполняется, если логическая функция принимает значение 1 (истинно).

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

Запись микрооперации можно сопровождать пояснениями, которые должны при этом выделяться скобками <,>.

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

Обычно даже очень простые операции преобразования информации занимают несколько тактов, требуя выполнения определенной последовательности микрокоманд. Например, если на рис. 3.1 прием в РгА адреса требует предварительной установки РгА в 0, то прием в РгА адреса второго операнда А2 будет производиться последовательностью микрокоманд, то есть микропрограммой

1-й такт Уст0 РгА: РгА := 0;

2-й такт ПрА2: РгА := РгК [А2];

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

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

Пример 3.4. На рис. 3.6 приведена представленная в виде графа микропрограмма рабочего цикла памяти с произвольным обращением и с разрушающим считыванием (рис. 3.7, 3.8). Как видно из рисунка, в блок управления памятью БУП поступают извне управляющие сигналы Обращение (сигнал начала рабочего цикла) и Операция (1 - считывание, 0- запись). БУП генерирует в необходимой последовательности управляющие сигналы, инициирующие соответствующие микрооперации: ПрРгА - прием адреса с адресных шин ША в регистр адреса РгА; Выборка - возбуждение шин адресной выборки ячейки памяти со сбрасыванием содержимого ячейки в 0; Считывание - открытие усилителей считывания и передача считанного кода в информационный регистр РгИ; ПрРгИ - прием в РгИ слова с информационной входной шины ШИВх; Запись - возбуждение разрядных усилителей записи; ПрШИВых - выдача слова из РгИ на информационную выходную шину ШИ- Вых. Здесь ДША - дешифратор адреса, БУЗ и БУС - блоки управления записью и считыванием. Регенерация (восстановление информации после считывания) производится в случае реализации ЗМ на элементах с разрушающим считыванием.

Структура и формат команд микропроцессора и МПС

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

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

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

В команде, как правило, содержатся не сами операнды, а информация об адресах ячеек памяти или регистрах, в которых они находятся.

- по функциональному назначению;

- по размеру, составу и  назначению полей (для кодированных  слов команд это понятие «формат»);

- время исполнения команд.

Все команды программы по функциональному критерию можно разделить на четыре класса со следующими уникальными чертами:

- команды управления перемещением (пересылкой) двоичных кодов между  объектами комплекса (или внутри  объектов) без изменения перемещаемых  кодов (команды пересылки);

- команды преобразования данных с получением их нового представления данных и их характерных бинарных признаков (команды обработки);

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

- команды управления перенастройкой  аппаратных средств процессора (управление  процессором).

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

Так, в классе команд управления перемещением, частные модификации могут, например, отличаться наименованиями источников перемещаемых кодов и их приёмников, направлениями перемещения, размерностями перемещаемых кодов, формами перемещения (одностороннее, двухстороннее), формами описания источников и приёмников.

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

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

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

Формат команды и архитектура ЭВМ рассчитаны на определенное число операндов, в соответствии с чем команды будут однобайтными либо многобайтными, а микроЭВМ и МПС - одноадресными, двухадресными, трехадресными и весьма редко четырехадресными. В первых ЭВМ формат команд навязывался постоянным размером машинного слова. По мере появления дополнительных средств модификации (изменения части) адреса оказалось возможным разработать команды с переменной длиной. Так, микроЭВМ СМ 1800 на базе однокристальных МП серии К580 и секционных МП серии К589, совместимыми с МП 8080 фирмы Intel, имеет три формата команд: однобайтный Ф1, двухбайтный Ф2 и трехбайтный Ф3 (Рис. 8). Имеются еще 12 вариантов заполнения этих трех форматов.

Формат 1 - однобайтная команда содержит лишь код операции. Операнды в такой команде либо отсутствуют, как, например, в команде останова HLТ, либо определяются по принципу умолчания. Например, в команде Ф1 INRM, осуществляющей приращение на единицу содержимого байта памяти, адрес этого байта всегда берется из пары регистров Н, L.

   

Рисунок 8 – форматы и размеры команд

Формат 2 - двухбайтная команда, кроме кода операции содержащая 8-разрядное число, являющееся в большинстве случаев непосредственным операндом команды. Двухбайтной является, например, команда MVI А 41, которая осуществляет занесение шестнадцатеричного числа 41 в регистр - аккумулятор А. Число 41 хранится при этом во втором байте кода команды. Ф2 будут и команды ввода - вывода IN и OUT, в которых второй байт содержит номер (адрес) устройства ввода-вывода.

Формат 3 - трехбайтная команда, где второй и третий байты хранят либо 16-разрядное число, являющееся непосредственным операндом команды, либо 16-разрядный адрес операнда. В обоих случаях второй байт, то есть байт, следующий за байтом с кодом операции, хранит младшую часть непосредственного операнда или адреса, а третий байт – старшую часть. Например, трехбайтная команда LDА Х2, осуществляющая загрузку аккумулятора значением однобайтной переменной Х2, которая имеет адрес 0х1248, выражается в виде 0х3А, 0х48, 0х12. В этом числе вслед за кодом операции 0х3А записывается сначала младший байт адреса, а затем старший. Если второй и третий байты команды содержат непосредственный операнд, который подлежит сохранению в регистрах, то в результате выполнения команды содержимое второго байта будет помещено в младший регистр, а содержимое третьего байта - в старший регистр. Например, после выполнения команды LXI, младший байт операнда команды попадает в регистр С, а старший байт - в регистр В, являющийся в данной паре старшим.

Информация о работе Терминология в области ЭВМ, ВС и комплексов