Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

OEVMiS_ekz_shpory

.pdf
Скачиваний:
10
Добавлен:
11.05.2015
Размер:
1.93 Mб
Скачать

10. Характеристика архитектуры системы команд.

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

Классификацию архитектур набора команд рассмотрим по двум наиболее существенным критериям.

Классификация по составу и сложности команд

архитектуру с полным набором команд: CISC (Complex Instruction Set Computer);

архитектуру с сокращенным набором команд: RISC (Reduced Instruction Set Computer);

архитектуру с командными словами сверхбольшой длины: VLIW (Very Long Instruction Word).

Классификация по месту хранения операндов

стековую;

аккумуляторную;

регистровую;

с выделенным доступом к памяти.

11.Типы и форматы операндов

Кнаиболее общим (базовым) типам операндов можно отнести: адреса, числа, символы и логические данные. Помимо них ВМ обеспечивает обработку и более сложных информационных единиц: графических изображений, аудио-, видео- и анимационной информации.

Числовая информация Среди цифровых данных можно выделить две группы:

• целые типы, используемые для представления целых чисел;

• вещественные типы для представления рациональных чисел.

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

Символьная информация:

• расширенный двоично-кодированный код EBCDIC (Extended Binary Coded Decimal Interchange Code);

• американский стандартный код для обмена информацией ASCII (American Standard Code for Information Interchange).

• Unicode

Логические данные Элементом логических данных является логическая (булева) переменная, которая может принимать лишь два значения: «истина» или «ложь.

Числа в форме с фиксированной запятой

Представление числа X в форме с фиксированной запятой (ФЗ), которую иногда называют также естественной формой, включает в себя знак числа и его модуль в q- ичном коде. Здесь q - основание системы или база. Для современных ВМ характерна двоичная система (q = 2), но иногда используются также восьмеричная = 8) или шестнадцатеричная {q = системы счисления.

Упакованные целые числа. Формат предполагает упаковку в пределах достаточно длинного слова. Если каждое из чисел состоит из четырех двоичных разрядов, то в 64-разрядное слово можно поместить до 16 таких чисел. Неиспользованные разряды заполняются нулями.

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

Используются два формата представления десятичных чисел (все числа рассматриваются как целые): зонный (распакованный) уплотненный (упакованный). В обоих форматах каждая десятичная цифра представляется двоичной тетрадой, то есть заменяется двоично-десятичным кодом. Зонный формат применяется в операциях ввода/вывода. При выполнении операций сложения и вычитания над десятичными числами обычно используется упакованный формат и в нем же получается результат (умножение и деление возможно только в зонном формате).

Числа в форме с плавающей запятой .От недостатков ФЗ в значительной степени свободна форма представления чисел с плавающей запятой (ПЗ), известная также под названиями нормальной или полулогарифмической формы. В данном варианте каждое число разбивается на две группы Первая группа цифр называется мантиссой, вторая - порядком. Число представляется в виде произведения X = т — мантисса числа X, р — порядок числа, q — основание системы счисления.

Рекомендуемый для всех ВМ формат представления чисел с плавающей запятой определен стандартом IEEE 754.

12. Типы и форматы команд

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

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

SIMD команды. — «одна инструкция — много данных». SIMD-команды обрабат. сразу 2 группы чисел. Операнды таких команд обычно представл. в одном из упакованных форматов.

Команды для работы со строками. Для работы со строками в АСК обычно предусматриваются команды, обеспечивающие перемещение, сравнение и поиск строк.

Команды преобразования. Осущ-ют изменение формата представления данных. Команды ввода/вывода. Команды этой группы могут быть подразделены на коман-

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

Команды управления потоком команд - команды, позволяющие нарушить есте-

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

Форматы команд

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

В соответствии с этим команда состоит из двух частей: операционной и адресной. Формат команды определяет ее структуру, то есть количество двоичных разрядов, от-

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

Общая длина

команды быть

описана следующим соотношением:

где l— количество

адресов в команде; RA— количество разрядов для

записи i-гo адреса; k - разрядность поля кода операции; RCA - разрядность поля способа адресации.

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

ции КОп определяется следующим образом: Разрядность адресной части В адресной части команды содержится информация о

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

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

13. Способы адресации

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

Прямая адресация: адресный код прямо указывает номер ячейки памяти, к кот. производится обращ-ие, т.е. адресный код совпадает с исполнительным адресом.

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

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

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

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

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

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

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

Существуют еще страничная, стековая и блочная адресации

14. Компьютерные системы с контроллерным управлением. Структура компьютерной системы с контроллерным управлением. Классификация компьютерных систем с контроллерным управлением.

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

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

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

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

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

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

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

Взависимости от структуры операционного устройства компьютерные системы

сконтроллерным управлением подразделяются на следующие типы:

1)системы для скалярной обработки – системы SISD

системы с последовательным выполнением операций – последовательные скалярные системы;

системы с параллельными операциями – суперскалярные системы.

2)системы для векторной обработки – системы SIMD Организация компьютерных систем и сетей

• системы с конвейерной организацией (с арифметическим конвейером) – векторно-конвейерные системы;

• системы на основе процессорных матриц (с матрицей процессоров) – матричные процессоры.

К компьютерным системам с контроллерным управлением относят также многопроцессорные системы класса MIMD, которые подразделяются на два типа:

системы с общей памятью;

системы с индивидуальной (локальной, распределенной) памятью.

15. Описание функционирования вычислительной машины. Представление вычислительной машины. Граф-схемы алгоритмов. Языки микропрограммирования.

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

кационной сетью; -устройства управления.

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

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

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

ГСА(Граф-схемы

алгоритмов)

ГСА имеет вид ориентированного графа. При построении графа используется 4 типа вершин. Правила составления ГСА:-ГСА должны содержать 1 начальную и 1 конечную вершины, а также конечное множество условных и операторных. -Входы и выходы различных вершин должны соединяться между собой дугами, направленными от входа к выходу. -Каждый выход вершины ГСА должен соединяться с одним выходом. -Любой вход вершины должен соединяться с одним выходом. -Для любой вершины ГСА должен существовать один путь из этой вершины к конечной вершине, проходящий через операторные и условные вершины в направлении соединяющих их дуг. -Один из выходов условной вершины может соединяться с ее входом, что недопустимо для операторных вершин. -В каждой операторной вершине записывается множество микроопераций, которое может быть и пустым. -В каждой условной вершине записывается один из элементов множества логических условий. -Начальной вершине отводится фиктивный оператор y0, конечной ук.

Языки микропрограммирования - Используются для описания микропрограмм, позволяют выполнять детальное задание микропрограмм. Обеспечивают описание функционирования.

Существуют два типа языков:

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

16. Стандартный цикл команды

Этап выборки команды - центральный процессор извлекает команду из памяти, используя адрес, хранящийся в счетчике команд (СК). Двоичный код команды помещается в регистр команды (РК) и с этого момента становится «видимым» для процессора. Без учета промежуточных пересылок и сигналов управления это можно описать следующим образом: РК := ОП [(СК)].

Этап формирования адреса следующей команды - Для фон-неймановских машин характерно размещение соседних команд программы в смежных ячейках памяти. Если извлеченная команда не нарушает естественного порядка выполнения программы, для вычисления адреса следующей выполняемой команды достаточно увеличить содержимое счетчика команд на длину текущей команды, представленную количеством занимаемых кодом команды ячеек памяти. Для однословной команды это описывается микрооперацией: +1СК: СК := СК +.

Этап декодирования команды - После выборки команды она должна быть декодирована, для чего ЦП расшифровывает находящийся в РК код команды. В результате декодирования выясняются следующие моменты: • находится ли в РК полный код команды или требуется дозагрузка остальных слов команды; • какие последующие действия нужны для выполнения данной команды; • если команда использует операнды, то откуда они должны быть взяты (номер регистра или адрес ячейки основной памяти);• если команда формирует результат, то куда этот результат должен быть направлен.

Этап вычисления исполнительных адресов операндов - Этап имеет место,

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

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

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

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

17.1 Управление вычислительным процессом на уровне регистровых передач. Модель устройства управления. Структура устройства управления.

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

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

вается управляющим блоком или устройством управления (УУ).

Для выполнения своих функций УУ должно иметь входы, позволяю-

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

Входной информацией для устройства управления служат:

тактовые импульсы – с каждым тактовым импульсом УУ инициирует выполнение одной или нескольких микроопераций;

код операции – код операции текущей команды поступает из регистра команды и используется, чтобы определить, какие микрооперации должны выполняться в течение машинного цикла;

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

сигналы из системной шины – часть сигналов с системной шины, обеспечивающая передачу в УУ запросов прерывания, подтверждений и т. п.

Всвою очередь, УУ формирует следующую выходную информацию:

внутренние сигналы управления – эти сигналы воздействуют на внутренние схемы процессора и относятся к одному из двух типов: во-первых, к тем, которые вызывают перемещение данных из регистра в регистр, во-вторых, к тем, которые инициируют определенные функции операционного устройства;

сигналы в системную шину – также относятся к одному из двух типов: управляющие сигналы в память и управляющие сигналы в подсистему ввода/вывода. Формально управляющий блок можно рассматривать как конечный автомат, определяемый

1)множеством двоичных выходных сигналов

2)множествами входных сигналов Z и X:

3)множеством подлежащих реализации команд.

Поэтому управляющий блок иногда называют управляющим автоматом. Принцип, лежащий в основе управляющего автомата, состоит в следующем:

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

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

2)для управления порядком следования микроопераций используются логические условия, которые в зависимости от результатов преобразования информации в операционном блоке могут принимать значения 1 или 0 (физически значения логических условий задаются осведомительными сигналами, формируемыми в операционном блоке);

3)процесс выполнения операций в операционном блоке описывается в форме алгоритма, представленного в терминах микроопераций и логических условий и называе-

мого микропрограммой;

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

Взависимости от способа формирования микрокоманд различают два

основных типа устройств управления:

• устройство управления на основе жесткой (схемной, аппаратной) логики (wired logic)

– микропрограммный автомат;

• устройство управления на основе программируемой (хранимой в памяти, запоминаемой) логики (programmed logic, stored logic) – устрой-

ство (блок) микропрограммное управления.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]