- •Московский государственный институт электроники и математики
- •Цель и практическое содержание методических указаний
- •Процедура выполнения команд. Конвейер команд
- •Арифметический конвейер
- •Система команд
- •Задание на лабораторную работу
- •Последовательность выполнения лабораторной работы
- •Содержание отчёта по лабораторной работе
- •Контрольные вопросы
- •Список литературы
Содержание отчёта по лабораторной работе
В отчёт по лабораторной работе следует включить:
вариант задания с текстом фрагмента кода на Ассемблере с комментариями,
классификацию команд фрагмента по назначению и числу адресов с расчётом времени выполнения заданного фрагмента без использования конвейера, для этого просчитать вручную сколько времени понадобиться для последовательного выполнения всех команд программы без совмещения фаз согласно разделу 2.4.
временные диаграммы загрузки одного и нескольких конвейеров процессора,
анализ результатов моделирования (отметить на диаграмме (например разным цветом) различные виды простоя конвейера с объяснениями их причин),
выводы (сравнительную оценку эффективности использования одного или нескольких конвейеров и их отсутствия.
Контрольные вопросы
Перечислить фазы цикла выполнения команды в процессоре.
Стандартные фазы работы ЦП включают в себя:
Выборка команды — передача содержимого счетчика команд в регистр адреса памяти, считывание команды из основной памяти в регистр команды, модификация содержимого счетчика команд для выборки следующей команды.
Выборка операндов — вычисление адреса и обращение в основную память или к регистру локальной памяти. Операнд считывается и принимается в регистр АЛУ.
Выполнение команды или арифметическая операция — инициализация (кодом операции) цикла работы устройства управления, которое, в свою очередь, управляет работой АЛУ, регистров и схем сопряжения.
Запись результатов — результат выполнения передается в локальную или основную память.
Обработку прерывания — сигналов от внутренних и внешних источников, требующих немедленной реакции ЭВМ.
Изменение состояния процессора и системы в целом, далее процессор переходит к выборке и выполнению следующей команды.
Эти фазы (за исключением прерывания) должны выполняться последовательно для каждой команды.
Что такое микрооперация?
Элементарная функциональная операция, производящая какое-либо элементарное действие над данными и выполняемая в течение одного тактового интервала.
Из каких основных устройств состоит процессор?
Любой процессор в самом общем виде можно представить состоящим из двух основных устройств: устройство управления и операционного устройства (см. рис.1).

Рис.1. Обобщённая структура центрального процессора
Назовите функции устройства управления процессора.
Функциями устройства управления являются:
определение адреса следующей команды;
выборка команды;
интерпретация её с целью анализа формата, служебных признаков и вычисления адреса операнда (операндов);
установление номенклатуры и временной последовательности всех функциональных управляющих сигналов, генерация управляющих импульсов и передача их на управляющие шины функциональных частей ЭВМ и вентили между ними;
анализ результата операции и изменение своего состояния,
реакцию на сигналы от внешних и внутренних устройств системы (сигналы состояния), в том числе реализацию прерываний.
Назовите функции операционного устройства процессора.
Функциями операционного устройства являются:
выполнение операции - преобразование информации в АЛУ или дополнительных блоках специальной арифметики,
формирование флагов – признаков состояния (результата операции).
В чём заключается два уровня управления ЭВМ?
Зачем разбивать цикл выполнения команды на отдельные фазы?
Эти фазы (за исключением прерывания) должны выполняться последовательно для каждой команды. Однако для нескольких команд можно совместить во времени различные фазы цикла. Для этого весь процессор разбивается на несколько частей - ступеней (уровней) конвейера.
Что такое конвейерная обработка информации?
Процессор работает над различными стадиями выполнения нескольких команд, причем на выполнение каждой стадии выделяются отдельные аппаратные ресурсы. По очередному тактовому импульсу каждая команда в конвейере продвигается на следующую стадию обработки, выполненная команда покидает конвейер, а новая поступает в него.
В чём заключается принцип работы конвейера команд?
Для этого весь процессор разбивается на несколько ступеней конвейера. На каждой ступени конвейера выполняется определенная фаза команды. Такое совмещение стадий выполнения нескольких команд на различных ступенях конвейера, приводит к тому, что выполнение следующей команды начинается в нём до окончания предыдущей. Это значительно увеличивает быстродействие процессора
В чём заключается принцип работы арифметического конвейера?
В этом случае операционный блок разбивается на несколько ступеней конвейера, на каждой из которых выполняется определенная стадия операции. На таком конвейере параллельно выполняются различные стадии нескольких операций, повышая быстродействие операционного блока. В каждый последующий такт времени на выходе арифметического конвейера будет формироваться результат выполнения операции для новой пары операндов.
В чём заключается отличие арифметического конвейера от конвейера команд?
Для чего понадобилось организовывать конвейеры?
В случае нескольких конвейеров становится возможным не только совмещение во времени выполнения различных фаз различных команд, но также одинаковых фаз нескольких команд на различных конвейерах.
Что такое ступень конвейера?
От чего зависит производительность процессора с конвейером команд?
Зависит от длительности всех фаз команды. Конвейер команд существенно увеличивают пропускную способность процессора, однако эффективность их использования зависит от управления (синхронизации) и числа уровней обработки – ступеней конвейера.
Почему для одинаковых команд требуется различное число тактов на выборку операндов из регистра, памяти и при непосредственной адресации?
Каждая фаза команды выполняется за определённое число тактов работы процессора. Число тактов, необходимых для выполнения команды (и отдельных ее фаз) зависит от типа операции, от числа её аргументов и от типа аргументов.
Что такое команда ЭВМ?
Команда ЭВМ представляет собой двоичный код, определяющий операцию вычислительной машины и данные, участвующие в операции. В явной и неявной форме команда содержит также информацию об адресе, по которому помещается результат операции, и об адресе следующей команды.
Как команды различаются по назначению?
По назначению все команды можно разбить на следующие группы:
передачи данных. Сюда следует отнести команды пересылки MOV, загрузки адресовLEA,LDS,LGDT…
обработки данных. Сюда следует отнести
команды обработки чисел с фиксированной запятой (ЧФЗ):
а) арифметические команды, такие как ADD,SUB,MUL,CMP…
б) логические команды, такие как AND,OR,NEG,…
в) битовые операции над отдельными разрядами операнда (CLI,CLC)
г) преобразование (модификация) данных (CBW,CWD…)
команды обработки чисел с плавающей запятой (ЧПЗ):такие какFCOMP,F2XM1,…
команды обработки десятичных чисел :такие какDAA,DAS,…
команды обработки строк:такие какCMPSB,LODS,…
передачи управления, такие как Jxxx,LOOP,CALL,RET…
дополнительные команды (например, команды управления режимами работы процессора)
Из каких основных частей состоит команда ЭВМ?
В общем случае команда состоит из:
операционной части (содержит код операции);
адресной части (содержит адресный код АКместонахождения обрабатываемых данных, результата, следующей команды).
Что такое код операции?
Код операции (КОП)определяет тип выполняемой операции, а также в некоторых командах в первом байте может содержаться бит W, задающий разрядность операндов (пример –ADC– 0001001w):
Что такое операнды?
Операнд - константа, переменная, функция, выражение и другой объект языка программирования, над которым производятся операции.
Что такое режим адресации операндов?
Способ получения адреса операнда (результата или следующей команды)
Перечислите (с примерами из заданного фрагмента кода на Ассемблере) режимы адресации операндов?
Рассмотрим режимы адресации, применяемые в современных ЭВМ.
По наличию адресной информации в командеразличают явную и неявную адресацию.
Широко используются следующие методы адресации операнда с различной кратностью обращения (R) в память:
1. Непосредственная (R= 0).
2. Прямая (R= 1).
3. Косвенная (R> 2).
По способу формирования исполнительных адресов ячеек памяти(Аи) режимы адресации операндов можно разделить на абсолютные и относительные.
Что такое адресный код?
Информация из адресной части команды.
Какие именно адреса указываются в адресной части команды?
В команде, как правило, содержатся не сами операнды, а информация об адресах ячеек памяти или регистрах, в которых они находятся
Обязательно ли все операнды указываются в адресной части команды, пояснить на примере?
При неявной адресацииадресное поле в команде отсутствует, адрес операнда подразумевается кодом операции.
Например, в большинстве скалярных операций системы команд Intelиз команды исключается адрес приемника результата. При этом подразумевается, что результат операции помещается на место первого операнда.
Почему время выборки операндов размером 1, 2 или 4 байта одинаковое?
