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

МУ проектЭВМ с приложениями_new ver

.pdf
Скачиваний:
13
Добавлен:
02.06.2015
Размер:
741.15 Кб
Скачать

выборка операнда из памяти;

выполнение операции;

запись результата в память.

Следовательно, время выполнения одной команды будет равно сумме времени выполнения отдельных этапов ([1] стр. 148). При этом следует помнить, что в зависимости от типа адресации, количества адресов и сложности команды, некоторые этапы могут отсутствовать, а другие – выполняться несколько раз (например, команда умножения).

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

Τ Κ α*Τ ЦУУ β*Τ

АЛУ

(2)

 

ЗУ

 

 

,где Tк – время выполнения одной команды α – среднее количество обращений к ЦУУ;

Тцуу – время выполнения микрокоманды в ЦУУ; β – среднее количество обращений к ЗУ при выполнении команды; Тзу – время выборки данных из ЗУ;

γ– среднее количество тактов, необходимых на выполнение команды в АЛУ;

Талу – среднее время выполнения операций в АЛУ Как было упомянуто выше (п. 3.1.6), классической фон-неймановской

архитектуры ([1] стр. 126) обычно не достаточно для обеспечения заданного быстродействия. Существует несколько структурных способов повышения быстродействия:

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

введение очереди команд (предвыборка команд см. далее);

введение конвейерной обработки команд ([1] стр. 413, [7]). Повышение быстродействия происходит поэтапно.

Производительность необходимо пересчитывать на каждом этапе! При введении конвейерной обработки, может быть целесообразным удаление из структуры очереди команд или кэш-памяти для обеспечения минимальных аппаратурных затрат. Необходимо помнить, что введение N ступеней конвейера не приводит к увеличению производительности в N раз, поэтому при предварительном расчете быстродействия допустима погрешность в 25% от требуемой.

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

устройство управления первой и второй ступенями;

оперативная память (ОП);

операционное устройство;

аппаратура прерывания;

сопроцессор;

блоки формирования эффективного и физического адресов;

очередь команд;

кэш-память данных.

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

Внимание! Дальнейшая разработка структурной схемы процессора должна быть неразрывно связана с разработкой граф-схемы командного цикла процессора, рекомендации по которой приведены

впункте 4.9!!!!

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

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

В общем случае, в техническом задании на отдельное устройство должно быть выделено:

функциональное назначение устройства;

описание устройства, при необходимости вплоть до приведения структурной схемы;

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

технические особенности устройства и краткое обоснование необходимости их внедрения;

требования к быстродействию устройства.

Ктехническим особенностям устройств можно отнести:

многопортовость;

использование специфических схем (например, матричного умножителя в ОУ);

аппаратное разрешение конфликтов (например, по доступу при конвейерной обработке);

и т.д.

Несмотря на то, что разработка отдельных устройств это задача соответствующих инженеров, необходимо выдвигать разумные рамки быстродействия. Рекомендуется ориентироваться на быстродействующие серии из комплекта КР 1531 или их зарубежные аналоги ([6]).

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

Устройство управления. Устройство управления отвечает за выдачу микрокоманд остальным устройствам процессора ([6] т.2. стр. 154,). Известно ([1] стр. 293, [8]), что по способу организации различают УУ с жесткой и с программируемой (хранимой) логикой. В таблице 4 приведено сравнение данных способов. Основной сложностью при разработке ТЗ на устройства управления с конвейерной обработкой команды является распределение устройств по ступеням конвейера. В зависимости от сложности выполняемых операций на каждой из ступеней конвейера, необходимо определить, где следует использовать УУ с хранимой логикой, а где – с «жесткой». Также следует помнить, что основная цель введения конвейера – это совмещение выполнения во времени нескольких операции. Однако процесс обработки команды – последовательный процесс. Невозможно записать результат операции, не выполнив ее. Отсюда возникает необходимость синхронизации устройств управления различными ступенями и обеспечение раздельной передачи управляющих сигналов.

Таблица 4 – Сравнение УУ с программируемой и «жесткой» логикой

Критерии

УУ с жесткой логикой

УУ с программируемой

сравнения

 

логикой

Быстродействие

Задержка на слое

Задержка при обращении к

 

инверторов,

ППЗУ микропрограмм и на

 

дизъюнктов,

схеме формирования

 

конъюнктов и элементе

следующего адреса

 

памяти

 

Аппаратурные

Прямо

Зависят от емкости ППЗУ, а не

затраты

пропорциональны

от сложности алгоритма

 

сложности алгоритма

 

 

работы

 

Регулярность

Высокая

Средняя

структуры

 

 

Возможность

Разработка устройства

Перепрошивка ППЗУ

модификации

вновь

 

Простота

Возможно

Зависит от сложности

построения

автоматизированное

управляемых устройств

 

построение, при

(количества управляющих

 

наличии

сигналов)

 

соответствующего графа

 

 

работы автомата

 

Возможность

Отсутствует

Требует минимальных

параллельной

 

аппаратурных затрат

работы с ОУ

 

 

Универсальность

Низкая

Высокая

при построении

 

 

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

 

 

Операционное устройство. Классический вариант проектирования операционного устройства основан на использовании вычислительных секции комплекта КР 1804 ВС2 совместно со схемами ускоренного переноса ВР1 ([6] т2. стр 136). При этом следует обратить внимание на следующие моменты:

в техническом задании предусмотрена работа с различными форматами данных;

количество тактов, необходимых для записи исходных данных;

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

Аппаратура прерывания. Детально рассмотрена в (ссылка на МПС, Орг ЭВМ, [4] стр 628, [6] т.2 стр. 164,). К основным ошибкам можно отнести отсутствие определения немаскируемых прерываний и плохую проработку обеспечения вложенности прерываний.

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

работа с РОН может происходить на нескольких ступенях конвейера одновременно (разделяемый ресурс);

к регистру-указателю счетчику команд могут обращаться УУ, ОК, ОП;

при использовании автоин(де)крементной адресации необходимо

изменение соответствующих регистров.

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

Разработка ступеней конвейера. Как было отмечено выше (п 4.5.)

выполнение команды принято разбивать на шесть этапов. Если выделить на выполнение каждого этапа по отдельному устройству управления, то

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

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

конфликт по доступу. Возникает при попытке одновременного обращения к устройствам на разных ступенях конвейера. Например, при чтении операндов и записи результата, конфликт может возникнуть как в РОН, так и в памяти. Чаще всего решается на уровне ТЗ на отдельные устройства;

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

конфликт по управлению. Обусловлен появлением команд, изменяющих порядок вычислений ([1] стр. 418). Команды перехода (особенно условного), прерывания, вызов подпрограмм, смена задачи и т.д. приводят к необходимости сброса конвейера, что значительно снижает его эффективность. Решается с помощью введения специализированных блоков, например, предсказания перехода ([1] стр.

425, [8]).

Команда

 

Этапы выполнения конвейера

 

ADD r1,r2,r3

ВК

ДК

ВА

ВО

Оп

ЗР

-

-

-

SUB r5,r3,r4

-

ВК

ДК

ВА

ВО

Оп

ЗР

-

-

XOR r6,r7,r1

-

-

ВК

ДК

ВА

ВО

Оп

ЗР

-

AND r6,r2,r3

-

-

-

ВК

ДК

ВА

ВО

Оп

ЗР

ВО – выборка команды из памяти;

 

 

 

ДК – дешифрация КОП;

 

 

 

 

 

ВА – вычисление эффективного адреса и физического адреса;

ВО – выборка операндов;

 

 

 

 

 

Оп – выполнение операции;

 

 

 

 

ЗР – запись результата.

 

 

 

 

 

 

1)Чтение после записи – если SUB выполнится прежде ADD;

2)Запись после записи – если XOR выполнится прежде ADD;

3)Запись после записи – если AND выполнится прежде ADD.

Рисунок 3 – Примеры конфликтов по данным в 6 ступенчатом конвейере Более подробно конфликты при конвейерной обработке команд и

способы их решения приведены в ([1] стр. 413, [2] стр.599, [8], [10]). При проектировании универсального процессора следует уделить особое

внимание решению конфликтов по доступу (структурные конфликты) и знать возможные способы решения остальных конфликтов.

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

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

разрядность ячейки ОП (см. п. 4.5);

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

связь физического адреса и количества банков памяти;

обеспечение требуемой по ТЗ выборки;

способ взаимодействия с кэш памятью и очередью команд.

По подходам к организации памяти много информации изложено в ([1] стр. 203, [4] стр. 444, [9] стр. 141, [10] стр.251). Часто величина выборки по ТЗ вкупе с временем доступа к ОП не позволяет обеспечить требуемое быстродействие даже при введении кэш памяти и очереди команд. В этом случае рекомендуется увеличивать количество модулей памяти и обеспечивать более эффективный обмен между ОП и остальными устройствами (введение локальных многоразрядных шин данных, использование режима пакетной передачи информации и т.д.)

Блоки формирования эффективного и физического адресов. В

некоторых источниках ([1] стр. 102, [2] стр.415) принято выделять один блок для формирования физического адреса. Однако введение нескольких видов адресации и использование двух режимов работы процессора приводят к необходимости получения предварительного логического (эффективного) адреса для формирования физического.

Причиной большинства ошибок при разработке ТЗ к данным устройствам является недостаточное понимание (проработка) разделов «используемые виды адресации» и «разработка системы управления памятью».

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

выбирает только служебную часть команды;

частично декодирует команду, например, загружает непосредственный операнд нужной разрядности;

является аналогом кэш памяти команд;

работает автономно.

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

Следует помнить, что если ОК работает автономно (управляется собственным УУ), то из предварительного расчета быстродействия исключается этап выборки команды.

Сопроцессор. Для работы с числами с плавающей запятой используется сопроцессор ([4] стр. 763). Структурно данное устройство представляет собой АЛУ с небольшим набором регистров большой разрядности, запрограммированного для выполнения операций (сложение, вычитание, умножение и деление) над числами с ПЗ. Управляет сопроцессором собственное УУ. В связи со сложностью детальной проработки внутренней структуры сопроцессора, допускается только формальное его описание, без учета быстродействия.

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

4.8 По техническому заданию на проектирование, каждый из авторов пояснительной записки разрабатывает одно из структурных устройств процессора на функциональном уровне. Подробно подходы к проектированию отдельных устройств изучались ранее на дисциплинах «Теория автоматов» и «Схемотехника» ([4], [6]).

Существует два основных подхода к проектированию на функциональном уровне:

использовать готовые комплекты микросхем (например, КР1804 ВС2 для ОУ);

разрабатывать схему заново (например, разработка ОУ на простейшей логике).

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

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

техническое задание на устройство (см. п.4.7. допускается упустить, если оно приведено в разделе «разработка структурной схемы процессора»);

выбранный способ проектирования с обоснованием;

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

описание алгоритма работы устройства с пояснением конструктивных особенностей (допускается оформить в виде ГСА);

входные и выходные данные для устройства.

4.9 Не менее важным этапом, чем разработка структурной схемы процессора, является разработка граф-схемы работы командного цикла процессора (ГСА КЦ).

Внимание! Разработка граф-схемы командного цикла процессора должна быть неразрывно связана с разработкой структурной схемы процессора, рекомендации по которой приведены в пункте 4.6!!!!

Командный цикл любого процессора можно разделить на основные этапы:

инициализация устройств процессора;

переход в требуемый режим защиты памяти;

обработка команд.

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

На данный момент не существует универсального способа построения ГСА КЦ. Во многом это обусловлено множеством различий в структурных схемах процессоров. Однако можно выделить несколько основных моментов, которые должны быть раскрыты в ГСА КЦ (в основном на этапе выполнения команды):

1.ГСА КЦ должна быть четко разделена на такты (операторные вершины). Это повышает наглядность схемы и упрощает проверку расчета номинального быстродействия (см. п. 4.10).

2.Допускается сложные (комбинированные) операции (например, выполнение команд на операционном устройстве) оформлять в виде процедур (см приложение 6). В этом случае необходимо раскрыть процедуру отдельными ГСА, которые отображают способ выполнения арифметических сложных и простых команд, логических команд и пр.

3.При оформлении ситуации с множественным выбором (например, определение способа адресации) допускается использование

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

4.Обычно система команд процессора содержит более 50ти команд. Разработка ГСА КЦ подразумевает разработку отдельных ГСА команд. Учитывая, что большинство команд однотипны (делятся на группы, см. п. 4.2.), допускается раскрытие по одной ГСА команды из группы. Рекомендуется приводить ГСА следующих команд: сложения, умножения, сдвига, прерывания, вызова подпрограмм, возврата из подпрограммы (прерывания), условного и безусловного

переходов, дальнего перехода, смены сегментов.

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

4.10 Результаты проектирования оцениваются в расчетной части пояснительной записки. К количественным оценкам курсового проекта относят:

окончательный расчет быстродействия разработанного процессора;

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

показатели надежности (время наработки на отказ и вероятность

безотказной работы) для устройств, разработанных на функциональном уровне.

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

Чаще всего используется номинальный расчет быстродействия. При использовании данного подхода принимаются следующие ограничения:

не учитывается вероятность и длительность переключения режимов работы процессора;

не учитывается вероятность смены задачи (в многозадачных процессорах);

в начале расчета очередь команд и КЭШ-память не пусты;

известны вероятности появления различных команд и способов адресации, следовательно, можно получить вероятность обращения к ОП и/или к КЭШ-памяти;

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

доступу.

Весь расчет производительности базируется на понятии машинного такта. Машинный такт – промежуток между двумя импульсами тактового генератора. Выполнение команды на процессоре может занимать разное число тактов, в зависимости от ее сложности. Более того, все устройства процессора работают с различным быстродействием и в идеальном случае требуют различного тактирования. Различают два способа определения длительности такта. Первый, наиболее очевидный, брать в основу машинного такта время задержки на самом медленном устройстве. Логично, что этого времени будет более чем достаточно для работы остальных устройств, но в случае одного медленного устройства, будет простаивать весь процессор. Второй способ базируется на выделении некоторого среднего такта и раздельное тактирование устройств с помощью делителей и умножителей частоты. Разница в подходах выбора времени машинного такта показана в таблице 5. В любом случае, окончательное быстродействие процессора должно быть кратным выбранному машинному такту, а не равняться сумме задержек на устройствах процессора!

Таблица 5 – Влияние времени машинного такта на быстродействие процессора

 

Число

Время

Число

Время

Быстродействие

Время

тактов

работы

тактов

работы

процессора,

машинного

на 1

1ступени,

на 2

2

оп/сек

такта, нс

ступени

нс

ступени

ступени,

 

 

 

 

 

нс

 

 

 

 

 

 

 

Максимальное

 

 

 

 

 

ОУ=145нс

3,805

551,725

3,92

569,13

1,75*106

Минимальное

 

 

 

 

 

КЭШ данных

6,78

339

10,2

510,5

1,95*106

= 55нс

 

 

 

 

 

Средняя

 

 

 

 

 

величина

3,04

304

5,039

503,9

1,99*106

(Тоу-

 

 

 

 

 

Ткэш)/2=100нс

 

 

 

 

 

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