Методические указания к лабораторный работам "АЛУ ЭВМ"

Сайт: Система электронного обучения
Курс: Архитектура ЭВМ и ВС (курс Заякина О.)
Книга: Методические указания к лабораторный работам "АЛУ ЭВМ"
Напечатано:: Гость
Дата: суббота, 11 июля 2026, 10:47

Описание

Организация арифметико-логических устройств ЭВМ [Электронный ресурс]: метод. указания к лабораторным работам по дисциплине Б3.Б.2 «ЭВМ и периферийные устройства» направления 230100.62 «Информатика и вычислительная техника» / сост. О. А. Заякин, В. П. Павлов. – Самара: Изд-во Самар. гос. аэрокос. ун-та, 2014. – 90 с.: ил. – 1 электрон. опт. диск (CD ROM).

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

Для изучения использованы графический редактор и эмулятор из системы автоматизированного проектирования MAX+PLUS II фирмы «Altera», разработанной ею для программирования собственных ПЛИС.

Предназначены для студентов, обучающихся дисциплине Б3.Б.2 «ЭВМ и периферийные устройства» по направлению 230100.62 «Информатика и вычислительная техника», а также по специальности «Автоматизированные системы обработки данных и управления». Могут быть полезны студентам, обучающимся по другим специальностям, связанным с информационными технологиями.

Работа выполнена на кафедре информационных систем и технологий Самарского государственного аэрокосмического университета.

Оглавление

ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ.

АЛО – арифметико-логическая микрооперация;

АЛУ – арифметико-логическое устройство;

АМК – адрес микрокоманды;

БИС – большая интегральная микросхема;

БП – безусловный переход;

ВМ – вычислительная машина;

Г – закодированный граф микропрограмм;

ГТИ – генератор тактовых импульсов;

ЕП – естественный переход (то есть, по адресу следующей по порядку микрокоманды);

ЖЛ – жесткая логика, названа в противоположность программируемой, «мягкой» (soft) логике;

ЗУ – запоминающее устройство;

ЛУ – логическое условие;

ИСТ – кафедра информационных систем и технологий СГАУ;

КС – комбинационный сумматор;

КСЧ – комбинационный счетчик;

МК – микрокоманда;

МО – микрооперация;

МП – микропрограмма;

МУ – методические указания;

НЛУ – номер логического условия;

ОА – операционный автомат;

ОЗУ – оперативное запоминающее устройство;

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

ОС – операционная система;

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

ПЗУ – постоянное запоминающее устройство (то есть, без возможности перезаписи);

ПЛ – программируемая логика;

ПЛИС – программируемая логическая интегральная схема;

ПМП – память микропрограммы;

ПНА – преобразователь начального адреса;

ПО – программное обеспечение;

РА – регистр адреса микрокоманды;

РАН – Российская академия наук;

РМК – регистр микрокоманды;

РОН – регистр общего назначения;

САПР – система автоматизированного проектирования;

СГАУ – федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Самарский государственный аэрокосмический университет имени академика С. П. Королёва (национальный исследовательский университет)»

СЛУ – список (множество) логических условий;

СМК – счетчик микрокоманд;

СМО – список (множество) микроопераций;

СФАМ – схема формирования адреса следующей микрокоманды;

СФ ФИАН – Cамарский филиал федерального государственного бюджетного учреждения науки Физического института им. П. Н. Лебедева Российской академии наук;

ТИ – тактовый импульс;

УА – управляющий автомат;

УА с ЖЛ  ‑ управляющий автомат с жесткой логикой управления;

УА с ПЛ – управляющий автомат с программируемой логикой;

УКС – универсальный комбинационный сумматор;

УМКД – учебно-методический комплекс дисциплины;

УП – условный переход;

УС – указатель стека;

ФК – формирователь кодов;

ФУС – формирователь управляющих сигналов;

ЦУУ – центральное устройство управления;

ЭВМ – электронная вычислительная машина;

ALO – арифметико-логическая операция;

BR – буферный регистр;

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

С – «Carry» ‑ значение бита переноса из старшего разряда сумматора при выполнении результатов сложения или вычитания;

CF – флаг переноса;

FLU – формирователь логических условий;

DMC – управляющий демультиплексор;

I-автомат – ОА с максимальными характеристиками (с максимальной производительностью и максимальными затратами оборудования);

IBM PC – International Business Machines Personal Computer;

IM-автомат – ОА с промежуточными (между минимальными и максимальными) значениями характеристик между I- и M-автоматами;

M-автомат – ОА с минимальной производительностью (одна МО за один такт);

MAX+PLUS II Multiple Array MatriX Programmeble Logic User System = Пользовательская Система Программирования Логики упорядоченных структур)

MS – мультиплексор;

MS-триггер – триггер типа «Master-Slave»;

MSA – мультиплексор A;

MSA – мультиплексор адреса;

MSB – мультиплексор B;

MSC – управляющий мультиплексор;

MSF – мультиплексор флагов;

MSL – мультиплексор левого сдвига;

MSR – мультиплексор правого сдвига;

NOP – «no operation» ‑ пустой такт;

OVR – «Overflow» ‑ признак (флаг, бит) переполнения, значение равно единице, если результат арифметической МО переполняет разрядную сетку, и нулю в противном случае;

OF – флаг переполнения, устанавливается в единицу, если в результате сдвига изменился знаковый (старший) разряд результата;

– поле микрокоманды, указывающее тип этой микрокоманды;

RF – регистр флагов;

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

RON – регистр общего назначения;

– «Storage» ‑ регистр (обозначение на схеме), или его содержимое;

– «Sign» ‑ значение старшего разряда результата, при обработке чисел со знаком трактуется как знак результата;

SH – «Shift» ‑ сдвигатель, то есть регистр сдвига;

SL – вход сдвигателя, используемый при левом сдвиге;

SM – сумматор;

SR – вход сумматора, используемый при правом сдвиге;

Т – продолжительность такта работы цифрового устройства;

ТС – счетный триггер;

TT – счетный триггер;

UKS – универсальный комбинационный сумматор;

– «Write» ‑ сигнал записи;

– «Zero» ‑ признак (флаг, бит) нулевого результата.

ПРЕДИСЛОВИЕ

Данные методические указания (МУ) составлены в соответствии с учебным планом СГАУ бакалаврской подготовки 230100.4.62-2014-О-П-4г00м для изучения дисциплины Б3.Б.2 «ЭВМ и периферийные устройства», относящейся к направлению 230100.62 «Информатика и вычислительная техника» (ИВТ). Они также могут быть полезны студентам, обучающимся по специальностям, связанным с информационными технологиями.

В брошюре описаны только две лабораторные работы из всего курса, рассчитанного на один семестр. Студентам отводится на них 8 академи­ческих часов практических занятий и 6 часов самостоятельной работы.

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

МУ дают студентам знания принципов устройства ядра современных ЭВМ, а также дают им типичные примеры практической реализации этих принципов на примере арифметико-логического устройства (АЛУ) ‑ основного узла микропроцессора.

Рассмотрен двухтактный конвейерный АЛУ, работающий на основе принципа микропрограммного управления, применяющегося сейчас практически во всех цифровых вычислительных устройствах. Этот АЛУ имеет двухуровневое управление процессом вычислений, также широко применяемое в современных ЭВМ и контроллерах.

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

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

В лабораторных работах использованы виртуальные макеты (так называемые «проекты», по терминологии фирмы-разработчика данной САПР), разработанные студентами и преподавателями СГАУ. Они прошли успешную апробацию в образовательном процессе СГАУ на факультете «Информатика»– в курсовом и дипломном проектировании, а также в практических занятиях и лабораторных работах студентов специальности «Автоматизированные системы обработки информации и управления» (АСОИУ). Все эти проекты можно найти в Учебно-методическом комплексе дисциплины (УМКД) «Аппаратные средства вычислительной техники» по специальности 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем». Этот УМКД относится ко второму поколению таких комплексов. Он составлен на кафедре ИСТ СГАУ.

Изучая описанные здесь лабораторные работы, студенты решают следующие основные задачи:

  • ознакомление с принципами организации АЛУ;

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

  • изучение работы АЛУ.

Перед выполнением лабораторных работ по данным МУ студентам следует ознакомиться с используемой в них САПР. Студентам предлагается это сделать на примере самостоятельного проектирования относительно несложного устройства – четырехразрядного двоичного вычитателя.

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

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

В подготовке лабораторных работ использовались – в качестве ядра автоматизированной системы – компьютеры, совместимые IBM PC. Использованы компьютеры на основе микропроцессоров типа Pentium.

Программное обеспечение (ПО) компьютеров, использованное в лабораторных работах, следующее. Это операционные системы (ОС) Windows XP, либо Windows Vista, либо Windows 7. Прикладное программное обеспечение включает в себя типичный набор прикладных программ для офиса, обычно устанавливаемых на компьютере вместе с ОС.

Для выполнения лабораторных работ потребуется также и специа­лизированное приложение – САПР MAX+PLUS IIAltera», США) в версии не ниже десятой. В данных работах в последнее время использовалась версия 10.2.

По описанию данной САПР и работе с ней издано немало публикаций. Для успешного выполнения лабораторных работ мы рекомендуем студентам ознакомиться с трудами украинских специалистов В. Поречного [1] и В. Стешенко [2]. Первое из них подходит для первоначального знакомства с предметом, а второе – для более углубленного изучения и для справок.

В МУ достаточно подробно излагаются теоретические вопросы.

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

Кроме этого, студентам также потребуются базовые физико-математические знания в объеме технического вуза.

Знания, полученные из данного практикума, будут полезными в курсах «Микропроцессорные средства систем автоматизации», «Операционные системы», «Интерфейсы АСОИУ». Эти знания также являются основой для курсового и дипломного проектирования.

Лабораторные работы из данных методических указаний следует дополнить ознакомительной работой с САПР. Кроме этого, в практическую часть дисциплины «ЭВМ и периферийные устройства» входит лабораторная работа, посвященная функциональной организации ЭВМ (на примере системы прерываний компьютеров IBM PC), а также лабораторная работа, посвященная системе ввода/вывода компьютеров этого семейства.

Отметим, что вместе с другими названными здесь лабораторными работами практическая часть занимает несколько больший объем, в зависимости от конкретных учебных дисциплин. Так, согласно рабочей программе по дисциплине «ЭВМ и периферийные устройства» и учебному плану 230100.4.62-2014-О-П-4г00м, на очные занятия отводятся 54 академических часа, и столько же ‑ на самостоятельную работу.

При сокращенном объеме обучения по данным МУ можно совместить ознакомление с САПР и первую из работ.

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

Этот труд впервые выходит в тираж, хотя в практике работы со студентами на кафедре ИСТ СГАУ к настоящему времени использованы уже две его редакции. В ходе этой апробации был замечен и устранен ряд недостатков как самих МУ, так и используемых в практике проектов. Однако, как в любой сложной открытой системе, отдельные недостатки все же не могут не присутствовать. Это следует учесть тем читателям, кто решится использовать данный материал «в железе». Авторы и редакция не могут нести ответственность за возможные последствия в этих случаях. Тем не менее, все замечания и конструктивные предложения будут рассмотрены и учтены.

Информация для контактов – адрес электронной почты: oleg_zayakin@inbox.ru ; адрес обычной почты: СФ ФИАН, ул. Ново-Садовая, 221, г. Самара, 443011, Россия; номер служебного телефона: +7 846 335 95 83; номер служебного факса: +7 846 335 56 00; служебная веб-страница (строго модерируется!): http://www.fian.smr.ru/personal_page.php?id=48&lang=rus .

Хочется выразить признательность доценту кафедры ИСТ А. С. Овсянникову за любезное предоставление проектов для использования их в MAX+PLUS II.

ВВЕДЕНИЕ

Назначением АЛУ является реализация арифметических, логических и других операций из списка операций. В состав современных процессоров обычно включаются АЛУ двух типов – целочисленные (с фиксированной запятой) и с плавающей запятой. Функционирование АЛУ осуществляется под управлением центрального устройства управления (ЦУУ) процессора. Для управления работой АЛУ обычно применяется один из двух вариантов: централизованное или децентрализованное (автономное) управление.

Централизованное управление используется в компьютерах класса RISC. При этом работой АЛУ управляет ЦУУ процессора путём выработки управляющих сигналов, обеспечивающих выборку операндов, выполнение операции, сохранение результата.

Децентрализованное управление используется в компьютерах класса CISC. При этом ЦУУ осуществляет выборку операндов из памяти в регистры АЛУ. Выполнением операции управляет не ЦУУ, а встроенное в АЛУ, автономное устройство управления, которое, приняв от ЦУУ код «g» операции fgF, формирует сигналы, под управлением которых в АЛУ выполняется операция fg. Запись результата операции fg в память осуществляется опять под управлением сигналов ЦУУ.

Известно, что АЛУ с автономным устройством управления, ЦУУ процессора, контроллеры различных периферийных устройств относятся к классу операционных устройств (ОУ) [3]. Назначением ОУ является выполнение операций из заданного списка операций F=(f1,…,fG) над словами-операндами из списка D=(d1,…,dH) с целью получения слов-результатов R=(r1,…,rQ), причём в каждый момент времени в ОУ может выполняться одна операция R=fg(D*) (рис. 1, а).

Организация ОУ базируется на принципе микропрограммного управления [3], в соответствии с которым любая операция fgF рассматривается как сложное действие и разделяется на совокупность элементарных действий ‑ микроопераций (МО). Совокупность МО задаётся списком: СМО=(МО1, …, МОМ). Порядок выполнения МО задаётся алгоритмом Ag операции fgF. Элементарность микрооперации МОmСМО означает, что для её выполнения достаточно операнды подать на входы специальной (уникальной) комбинационной схемы (КС) и, после завер-шения переходных процессов в ней (после паузы), сохранить (принять) результат с выхода КСm. Пример: двоичный комбинационный сумматор обеспечивает выполнение МО сложения кодов (операндов А и В), подаваемых на входы А, В сумматора: Cout.С:= А+В+Cin, где С – сумма, Cin – значение на входе переноса в младший разряд сумматора, Cout – значение на выходе переноса из старшего разряда сумматора. Для сохранения (приема) результатов микроопераций с выходов комбинационных схем обычно используются регистры.

 

Рис. 1. Операционное устройство АЛУ: а – функциональная схема; б – временная диаграмма работы

Порядок выполнения МО в процессе выполнения операции fgF задаётся алгоритмом Ag и зависит от значений логических условий (ЛУ). Логическое условие – булева переменная, которая принимает значение истина или ложь в зависимости от значений операндов и результатов МО, формируемых в процессе выполнения алгоритма Ag. Пример ЛУ: переменная Z (Zero) принимает значение 1 (истина), если результат МО равен 0, и значение 0 (ложь) – в противном случае. Логические условия используются в процессе выполнения алгоритма Ag в качестве условий (обычно) альтернативных переходов.

Алгоритм Ag, представленный в терминах МО и ЛУ, называется микропрограммой МПg. Микропрограмма МПg определяет (задаёт) порядок выполнений микроопераций и проверки логических условий во времени. Совокупность микропрограмм МП1,…,МПG определяет (задаёт) функцию ОУ. Так, функцию АЛУ задают МП всех операций из списка операций FАЛУ, в который включаются обычно арифметические операции сложения, вычитания, умножения, деления, логические операции и другие.

Итак, для выполнения микроопераций МО1,…,МОM используются соответствующие комбинационные схемы КС1,…,КСM. Для сохранения результатов МО используются регистры. Для управления подачей операндов на входы КС (из различных регистров) используются специальные КС – мультиплексоры. Для управления записью результатов МО (с выходов различных КС) в регистры – демультиплексоры.

Часть ОУ, содержащая перечисленные выше схемы, образует исполнительную часть ОУ, которую принято называть операционным автоматом (ОА) устройства, в частности ‑ ОА АЛУ, (рис. 1, а). Назначение ОА – хранение слов информации, выполнение микроопераций из списка СМО=(МО1, …МОМ) под воздействием управляющих сигналов Y=(y1, …, yМ) из УА, формирование значений логических условий (осведомительных сигналов) X=(x1, …, xL) для УА.

Выполнение операции fgF, задаваемой кодом операции «g» на управляющем входе ОУ, осуществляется в последовательности, заданной алгоритмом Аg, представленным в форме МПg (другими словами, в ОУ по коду g запускается процесс выполнения микропрограммы МПg). Управление процессом выполнения МПg осуществляется частью ОУ, которая относится к классу конечных автоматов. Ее принято называть управляющим автоматом (УА) АЛУ (рис. 1, а). Назначение УА – управление работой ОА. Управление осуществляется путём выработки управляющих сигналов ymY в той последовательности, которая задаётся микропрограммой МПg операции fgF и значениями осведомительных сигналов X=(x1, …, xL) из ОА. УА является управляющей (активной) частью ОУ.

Самый простой способ организации работы ОУ во времени – синхронный, при котором ОУ работает тактами. Такт – это фиксированный отрезок времени Т определённой длительности, задаваемый обычно как интервал времени между двумя соседними фронтами тактовых импульсов ТИ, вырабатываемых генератором тактовых импульсов с периодом Т (с частотой F=1/Т) (рис. 1, б). Этот отрезок времени (такт Т) отводится на выполнение (одной или нескольких) МО в ОУ и состоит из следующей последовательности этапов:

  1. этап выработки управляющих сигналов ymY в УА,

  2. этап выборки операндов и выполнения МОm в КСm в ОА,

  3. этап формирования ЛУ xLX по результатам МОm,

  4. этап занесения результатов МОm в регистры.

Далее эта последовательность этапов периодически повторяется с периодом Т до завершения процесса выполнения операции fgF, т.е. до конца МПg.

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

Продолжительность такта Т при синхронной организации работы ОУ определяется суммой продолжительностей этапов 1, 2, 3, 4 – τ+ τ+ τ+ τ4, причём для наихудшего случая (максимальных по длительности МО и ЛУ):

Т= τУА+max1, …, τm)+maxX1, …, τXL)+ τсохр.. (1)

Здесь: τ1УА=constвремя формирования управляющих сигналов ym в УА обычно постоянно, не зависит от того, какие управляющие сигналы ymY вырабатываются в данном такте; τ4сохр=constвремя занесения результатов в регистры ОА. Время выполнения МО1, …МОМ (по сигналам y1, …, yМ), а также время формирования ЛУ x1, …, xL в общем случае разное (поскольку задержка сигналов в соответствующих КС ‑ разная), поэтому продолжительность этапов τ2, τ3 определяется как максимум от всех возможных значений.

Основные технические характеристики АЛУ – быстродействие и затраты оборудования [4]. Быстродействие определяется количеством операций fgF, выполняемых АЛУ в единицу времени: Vg=1/tg, и зависит от времени выполнения операции tg=ngT, где ng – количество тактов на выполнение операции fgF. Продолжительность такта Т=const, количество тактов ng – величина переменная, зависит от сложности микропрограммы МПg операции fg и для сложных операций (умножение, деление) значений операндов.

1 ЛАБОРАТОРНАЯ РАБОТА №1 ОРГАНИЗАЦИЯ ОПЕРАЦИОННОГО АВТОМАТА АРИФМЕТИКО-ЛОГИЧЕСКОГО УСТРОЙСТВА

Цель лабораторной работы – изучение принципов построения операционных автоматов арифметико-логических устройств (ОА АЛУ).

2 ЛАБОРАТОРНАЯ РАБОТА №2. ОРГАНИЗАЦИЯ УРАВЛЯЮЩЕГО АВТОМАТА АРИФМЕТИКО-ЛОГИЧЕСКОГО УСТРОЙСТВА

Цель лабораторной работы – изучение принципов построения управляющего автомата арифметико-логического устройства (УА АЛУ).

2.1 Теоретические основы лабораторной работы

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

2.2.1 Принципы построения управляющих автоматов

Функция УА определяется совокупностью закодированных графов микропрограмм Г1, …, ГG. Закодированный граф Гg получается из содержательного графа МПg путем замены микроопераций МО1, …, МОМ, указанных в операторных вершинах МПg, символами у1, …, уМ и замены логических условий ЛУ1, …, ЛУL, содержащихся в условных вершинах графа, символами x1, …, xL (кодированием микропрограммы МПg). На основе графов Г1, …, ГG можно синтезировать соответственно G управляющих автоматов УА1, …, УАG, которые обеспечат управление ОА. Однако такое решение получается неэффективным. Графы различных МП обычно содержат некоторое число одинаковых операторных и условных вершин, которые сольются, если по-строить граф Г, объединяющий в себе графы Г1, …, ГG. Уменьшение числа вершин в МП влечет уменьшение затрат оборудования в УА. Поэтому функ-цию УА принято представлять объединенным графом Г.

Метод объединения закодированных графов Г1, …, ГG в единый граф Г, содержащий минимальное число вершин, изложен в работе [5].

В объединенной микропрограмме пути развития процессов выполнения операций f1, …, fG задаются кодом g=g1 … gk операции fg (где g(1, …, G) - номер операции fg), длина которого klog2G. Переменные g1, …, gk кода g в объединенной МП играют роль логических условий (как и условия x1, …, xL).

Для формирования управляющих сигналов Y, вырабатываемых в зависимости от значений g1, …, gk и x1, …, xL, можно использовать последовательностную логическую схему – (конечный) автомат с памятью. При этом множество входных сигналов Х автомата определяется множеством осведомительных сигналов, поступающих из ОА, и битов g1, …, gk кода операции fg: Х=x1, …, xL, g1, …, gk = (x1, …, xl, xl+1, …, xL), L=l+k. Множество выходных сигналов определяется множеством управляющих сигналов Y=у1, …, уМ, возбуждающих микрооперации МО1, …, МОМ в ОА.

Закон функционирования конечного автомата задается объединенным графом Г и определяет порядок преобразования входной последовательности Х(0), Х(1), …, Х(t) в выходную Y(0), Y(1), …, Y(t), где t - время. Реализация УА на принципе интерпретации микропрограммы автоматом с памятью приводит к построению УА с жесткой логикой управления (УА с ЖЛ) [4].

УА можно построить и иначе – на основе принципа управления по хранимой (в памяти) микропрограмме (принципа Уилкса). Такой способ приводит к УА с программируемой логикой управления [4]. В соответствии с этим принципом для формирования управляющих сигналов используется микро-команда – это управляющее слово (разделенное на поля определенного на-значения и фиксированной длины), которое определяет порядок функциони-рования (операционного) устройства в течение одного такта. Микрокоманда (МК) содержит информацию о микрооперациях, которые должны выполняться в данном такте, а также информацию об адресе сле-дующей МК. Совокупность МК, описывающих объединенную МП, образует массив микрокоманд МК[1:Р], хранимый в памяти (в ПЗУ).
Простая структура управляющего слова, достаточная для представления (описания) МК, имеет вид:

1           Y         m

1            X          h

 1          A1           p

1            A2             p

Поле Y определяет номера микроопераций, возбуждаемых микрокомандой в ОА (в текущем такте). Если поле Y=0 (пустое), то УА не возбуждает ни одной МО. Номера МО в списке y0, y1, …, yM, yM+1 можно кодировать m-разрядным позиционным кодом, m≥log2(M+2), где y0 - пустая МО, yM+1 - сигнал об окончании операции fg (конец микропрограммы МПg).

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

Примем, что в каждой условной МК можно проверять значения только одного ЛУ из множества X. В этом случае адресная часть МК состоит из по-лей Х, А1, А2. В поле X указывается номер l(1, …, L) осведомительного сигнала xl, значение которого анализируется МК условного перехода. Если поле X=l≠0, то адрес следующей МК определяется в зависимости от значения хl. Если значение хl=0, то адрес следующей МК АМК определяется полем А1, если хl=1 - полем А2. Если поле Х=0 (пустое), то адрес МК равен А1. В итоге получаем:

                    А1, если Х=0,

АМК:=          А1, если Х0 и хХ=0 (Х=l),                                                                                      (4)

                    А2, если Х0 и хХ=1.

Длина p полей А1, А2 зависит от P - количества МК (емкости ПЗУ): p≥log2P. Длина поля Х: h≥log2(L+1).

УА, построенный на основе принципа Уилкса, называется УА с принудительной адресацией МК (рис. 14). Для хранения микрокоманд используется
ПЗУ емкостью P ячеек, в каждой из них размещается МК длиной n=m+h+2p разрядов. Работа УА показана на рис. 15. Перед началом работы ЦУУ посылает код операции g в УА АЛУ (на вход g преобразователя начального адреса ПНА микропрограммы МПg).

Р и с 1 4 . Структура УА с принудительной адресацией

Запуск автомата на выполнение операции fg производится сигналом «start» (из ЦУУ процессора). По нему триггер T устанавливается в 1, тем са-
мым разрешается выборка слова из ПЗУ по адресу, сформированному на выходе ПНА, и открывается путь для тактовых сигналов с выхода ГТИ в УА (на выход С). ПНА обеспечивает формирование адреса первой МК микропрограммы МПg. По нему она извлекается из ПЗУ и по первому сигналу С загружается в регистр микрокоманд РМК.

Адрес очередной МК формируется в соответствии с выражением (4). В последнем такте микропрограммы МПg триггер Т сбрасывается сигналом
yM+1 - конец операции fg.

Микрокоманда, выбранная из ПЗУ и загруженная в РМК, выполняется следующим образом. Поле Y расшифровывается (дешифратором DCY) и вы-
ходной сигнал ym с выхода DCY (импульс, сформированный по С, по С или не стробируемый совсем) поступает в ОА и возбуждает в нем соответствующую МО. Поскольку в каждом такте вырабатывается один сигнал ym, то в ОА будет выполняться одна МО.

Переход к следующей МК осуществляется в зависимости от значения поля X и значений ЛУ x1, …, xL в соответствии с (4). Если выполняется (в РМК загружена) МК условного перехода, то адрес МК выбирается (мультиплексором адреса MSA) из полей А1 или А2 в зависимости от значения условия xX одним из сигналов a1 (A:=A1) или a2 (A:=A2). Здесь считается, что x0≡0. То-гда адрес МК берется из поля А1. Выбор одного из условий x1, …, xL осуществляется мультиплексором MSХ, которым управляет дешифратор DCX. Та-ким образом, к середине такта на адресном входе А ПЗУ будет сформирован адрес следующей МК, а к концу такта микрокоманда появится на выходе ПЗУ) и по очередному сигналу С будет загружена в РМК.

Р и с. 15. Временная диаграмма работы УА с принудительной адресацией

Кодирование МО. Микрооперации из списка Y=y1, …, yM возбуждаются МК, в которой указываются наименования (коды) микроопераций, выпол-няемых совместно в ОА. Простой (очевидный) способ кодирования МО состоит в следующем: набору сигналов y1, y2, ..., yМ ставится в соответствие слово Y= y1, y2, ..., yМ, в котором каждой МО, если она должна выполнятся в данном такте, ставится в соответствие единица, если не должна – то ноль, т.е. производится унитарное кодирование МО. Пример: М=8, такт i+1, y2 = y5 = y6 =1, остальные биты равны нулю. Это слово используется для управления (элементами И): 1 – элемент И открыт для прохождения импульса с выхода ГТИ, 0 – закрыт (рис. 16). Чтобы в следующем такте можно было вырабатывать другие сигналы, достаточно сменить слово Y на входе этой схемы.

Р и с.16. Унитарное кодирование микроопераций

Недостаток унитарного кодирования - большая длина МК и, следоваельно, большая ѐмкость ПЗУ для хранения МП. В связи с этим встаѐт естественная задача сокращения длины МК.

Простой способ сокращения длины МК – позиционное кодирование МО: каждой МО ym € Y , которая должна выполняться в данном такте, ставится в соответствие m-разрядный позиционный код (m≥log2M). Пример: М=8, m=3, сигнал y5=1, остальные сигналы равны нулю, y5 кодируется кодом 5 Dec=101 Bin. Сигнал y5=1 на основе этого кода вырабатывается схемой, представленной на рис. 17. Дешифратор DCY стробируется сигналами С с выхода ГТИ, один из которых появляется на выходе y5. Недостаток позиционного кодирования - в каждом такте можно вырабатывать только один сигнал. Это нежелательно, так как вносит ограничения на совместимость МО и снижает производительность ОА.

Р и с. 17. Позиционное кодирование

Чтобы не вносить ограничений на совместимость МО и сократить длину МК (по сравнению с унитарным кодированием) используется смешанное кодирование МО. Для кодирования совместно выполняемых МО в МК вы-деляются поля Y1, Y2, …, Yl, количество которых определяет предельное количество совместно выполняемых МО. В общем случае поле Yi может возбуждать некоторое подмножество (несовместимых) МО Yi=(yα, yβ, …, yω) множества Y, для кодирования которых используется mi≥log2(Mi+1) разрядов, причем значение Yi=0 является признаком пустого поля (сигнал МО в этом такте не вырабатывается). Сумма MO=m1+m2+…+mI определяет длину операционной части МК. Она влияет на затраты оборудования в УА и на быстродействие ОУ. В частности, уменьшение длины MO уменьшает разрядность ячеек ПЗУ (т.е. сокращает затраты оборудования в нем). С целью экономии оборудования стремятся уменьшить длину операционной части МК. Существуют различные методы, которые позволяют это сделать.

Пример смешанного кодирования МО (рис. 18): три группы несовместимых МО - первая состоит из семи МО, вторая – из 9, третья – из 18. Разрядность полей: k=3 (log27), h=4 (log29), n=5 (log218). Всего: 3+4+5=12 разрядов вместо М=36 (7+9+18) при унитарном кодировании.

Р и с. 18. Смешанное кодирование

Количество операционных полей. Если ОА строится на основе принципа обобщения МО, то количество операционных полей равно числу групп несовместимых МО. Так, для управления М-автоматом (рис. 2) нужна МК с четырьмя операционными полями А, В, Y, C. В них указываются двоичные номера МО, принадлежащих наборам {ai}, {bj}, {ym}, {ck}, возбуждаемых в одном такте (совместно выполняемых).

Для управления IM-автоматом с последовательной комбинационной частью (рис. 3) необходима МК с шестью операционными полями A, B, F, G, H, C. В них указываются номера из наборов {ai},{bj},{fk},{gl},{hm},{cn}.

Для управления I-автоматом (построенным на основе принципа закрепления МО), который допускает совместное выполнение до H микроопераций, число полей в МК можно выбирать равным K=1, 2, …, H. В случае K=1 операционная часть МК имеет минимальную длину, но в каждом такте реализуется только одна МО. В результате чего функциональный оператор микропрограммы, состоящий из K совместимых МО, будет выполняться за K тактов. При K=H любой функциональный оператор (состоящий из K МО) будет выполняться за 1 такт, но операционное поле МК будет иметь суммарную длину, что увеличивает емкость ПЗУ. Таким образом, уменьшение количества операционных полей позволяет экономить оборудование в УА, но одновременно уменьшает быстродействие ОУ (увеличивает количество тактов).

Адресация микрокоманд. Для адресации МК используются два основных способа – принудительная и естественная адресация.

Принудительная адресация МК реализована в УА, структура которого приведена на рис. 14. Адрес следующей МК определяется либо полем А1, либо полем А2 в зависимости от кода в поле X и значения условия xX.

Недостаток принудительной адресации – длинная адресная часть МК (и большие затраты памяти). Сократить длину адресной части МК можно, если оставить одно адресное поля А. Сделать это можно следующим образом. Ес-ли поле X=0, то значение поля А (безусловно) определяет адрес следующей МК – АМК:=А. Если же поле X≠0, то АМК:=А+ xX, где xX – значение ЛУ с номером X, т.е. в этом случае реализуется условный переход: если xX=0, то АМК:=А, если xX=1, то АМК:=А+1 – на единицу больше А. Для увеличения адреса на 1 можно использовать комбинационный счетчик КСЧ (рис. 19).

Р и с. 19. Комбинационный счетчик

Однако введение счетчика КСЧ в схему УА снижает быстродействие автомата, поскольку длительность его такта в этом случае увеличивается на время выполнения операции счета в pразрядном счетчике.

Естественная адресация МК. При естественной адресации адрес сле-дующей МК формируется путем увеличения на 1 адреса предыдущей МК. В этом случае отпадает необходимость вводить адресное поле А в каждую МК. Если микрокоманды следуют в естественном порядке, то для формиро-вания адреса МК можно использовать (накопительный) счетчик микрокоманд – СМК, состояние которого увеличивается на 1 после чтения очередной МК и дешифрации поля X:
                        СМК+1, если X≠0, xX=0 (ЕП);
СМК:=              А, если X=0 (БП);                                                                                      (5)
                        А, если X≠0, xX=1 (УП).

Как видно из (5), микрокоманды естественного перехода ЕП (по СМК+1) не используют поле А для формирования адреса МК и поэтому могут содер-жать только операционную часть, представленную полями Y1,…,YH.

При выполнении МК переходов (безусловного – БП, условного – УП) используются поля X, А. Однако их выполнение трудно (не всегда удается) совместить с выполнением МО в ОА (так как по результатам выполненных в текущем такте МО сформируются сигналы x1,…,xL, которые используются в качестве ЛУ, обычно, в следующем такте). Поэтому операционная часть в этих микрокомандах переходов не используется (поля Y – пустые, в ОА нет МО – NOP). В результате, при выполнении последовательности из двух функциональных операторов, не используется адресная часть по крайней мере в одной МК (т.е., проще говоря, не встречается последовательность из двух идущих подряд команд перехода), чтобы по ее результатам сформировались сигналы x1,…,xL (вторую МК можно совместить, например, с БП). При выполнении последовательности операторов перехода не используется (пустует) операционная часть большинства МК.

В этих условиях рационально использовать МК двух типов – операционные и управляющие.

Операционная МК содержит только поля Y1,…,YH и неявно полагает адрес следующей МК равным СМК+1.

Управляющая МК используется только для изменения естественного по-рядка выполнения МК (путем выполнения МК безусловного и условного переходов), поэтому содержат только поля X, А. Для определения (указания) типа МК вводится поле P типа МК:

P  

1      Y1    m1

      …   

1      YH    mH

P

1       X       h

1       A       p

Например, если P=0, то МК является операционной, если P=1, то – управляющей (или наоборот).

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

Итак, стремление повысить производительность УА приводит к неэффективному использованию емкости ПЗУ, а стремление к экономии оборудования – к увеличению количества тактов и снижению производительности.

Быстродействие УА. Быстродействие автомата характеризуется продолжительностью такта УА, т.е. временем, затрачиваемым на формирование одного набора управляющих сигналов. Оно складывается из 3 составляющих: 1) времени формирования адреса МК; 2) времени обращения к ПЗУ; 3) времени дешифрации МК.

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

При фиксированном быстродействии ПЗУ быстродействие УА можно повысить за счет параллельной выборки (нескольких) МК. В этом случае за одно обращение из ПЗУ выбирается K микрокоманд, и время обращения к ПЗУ, приходящееся на одну МК, в пределе сокращается в K раз. Ясно, что не все из K выбранных МК будут исполнены (в виду возможных переходов). Таким образом, из K выбранных МК в среднем реализуется N микрокоманд (где 1<N<K), т.е. эффективное быстродействие увеличивается в N раз (N<K).

Укрупненная структура УА с ПЛ (рис. 20) состоит из трех частей: схемы формирования адреса следующей МК СФАМ (формирующая адрес, например, в соответствии с выражением (5)), ПЗУ и схемы формирования управляющих сигналов y1,…, yM, состоящей из дешифраторов DCY1,…, DCYM.

Р и с. 20. Схема УА с ПЛ

Временная диаграмма работу УА с ПЛ приведена на рис. 21.

Р и с. 21. Временная диаграмма работы УА с ПЛ

Продолжительность такта ТОУУАОА работы ОУ определяется суммарным временем ТУА, затрачиваемым в УА на формирование адреса – τФА, на выборку МК из ПЗУ – τПЗУ и на дешифрацию МК – τДШ: ТУАФАПЗУДШ, и суммарным временем TОА, затрачиваемым в ОА на выполнение МО – τОА, на формирование логических условий τЛУ и на запись результатов в регистры ОА – τРЕГ: ТОАОАЛУРЕГ. При последовательной работе УА и ОА продолжительность такта ТОУ оказывается большой.

Для уменьшения длительности такта ТОУ можно использовать конвейерную организацию работы ОУ, которая предполагает совмещение во времени работы УА и ОА. С целью ния работа ОУ разделяется на этапы, например: 1) выборка МК из ПЗУ; 2) ее реализация. В этом случае УА, вы-брав i-ю МК, может (не дожидаясь завершения процесса ее выполнения в ОА) начать выборку следующей (i+1)-й МК.

Чтобы обеспечить возможность опережающей выборки МК, очевидно, в состав УА необходимо ввести специальный регистр МК (РМК), в который заносится выбранная МК. Надобность в РА (как на рис. 20) при конвейерной обработке отпадает. К моменту времени, когда выбранная МК будет реализована, в РМК заносится (i+1)-я МК, выбранная с опережением (рис. 22). Как видно из временной диаграммы на рис. 22, такт ТОУ равен такту работы конвейера ТК, продолжительность которого определяется:

ТК = max(ТРВ),                                                              (6)

где ТР – время выполнения i-й МК, ТВ - время выборки (i+1)-й МК.

Р и с. 22. Опережающая выборка микрокоманд

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

TК =max[(τФА + τПЗУ), (τМО + τЛУ)] + max[(τЗАП + τДЕШ), (τРЕГ)]                                                                                       (7)
                     УА                 ОА                         УА           ОА
Первое слагаемое определяет продолжительность первого полутакта τ1, а второе – второго полутакта τ2: ТК= τ12, задаваемого сигналами С с выхода ГТИ. В первом полутакте УА формирует адрес МК и выбирает ее из ПЗУ, а ОА в это время выбирает операнды, выполняет МО и формирует ЛУ. Во втором полутакте УА заносит выбранную МК в РМК и декодирует ее, а ОА – заносит результаты МО в регистры.

Итак, по фронту сигнала С запускаются первые этапы в УА и ОА, а по срезу – вторые этапы, а сигнал С заводится на РМК.

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

Время выполнения операций в ОУ, которое определяется величиной tопер=nTОУ, где n – среднее количество тактов, при конвейерной организации зависит от количества условных переходов в микропрограмме. Точнее, от количества «промахов» при выборке МК, условия перехода для которой еще не «созрели» в ОА. Если при условном переходе выбрана не та МК, то результаты ее выполнения аннулируются (пустой такт в ОА) и потребуется дополнительный такт для выборки МК по альтернативному адресу.

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

Следует отметить, что микропрограммы различных операций ОУ могут содержать общие по функциям участки, которые целесообразно оформлять как подпрограммы, вызываемые по (микро) команде Call, возврат из которых обеспечивается МК возврата - Ret. В этом случае в СФАМ встраивается регистр, в который по команде Call заносится адрес возврата из подпрограммы (т.е. i+1, где i – адрес МК Call), а по команде Ret адрес i+1 извлекается из регистра и выдается на выход СФАМ в качестве АМК. Если вызов подпрограммы осуществляется из цикла, при организации которого используется команда типа «конец цикла», и если условие истинно, то в этом случае одного регистра для сохранения адреса возврата недостаточно (нужно как минимум два). Их (регистры) в этом случае рационально организовать как стековое ЗУ.

2.1.2 Схема лабораторного макета управляющего автомата арифметико-логического устройства

При разработке схемы макета выбран ориентированный на конвейерную работу вариант построения УА с естественной адресацией и единым форматом МК, состоящим из полей X, A, Y1YH. Структура УА представлена на рис. 23. Для реализации конвейерной работы в УА включен регистр МК РМК. Поле Х используется для указания типа МК. Всего УА реализует 13 МК, список которых представлен ниже (табл. 6).

                        Таблица 6 - Список МК

Тип МК

Описание МК

1. Cnt

Переход по СМК (AМК=СМК)

2. Jmp

БП по адресу А из РМК (АМК=А)

3. Резерв

Не используется

4. Call

БП на подпрограмму (АМК=А, стек:=СМК)

5. Ret

Возврат из подпрограммы (АМК = стек)

6. Push

Запись в стек (СМК → стек) и переход по СМК

7. Endmp

Конец микропрограммы, формирование Ready

8. Резерв

Не используется

9. JZ

УП по нулю (по Z=1 СМК:=А)

10. JS

УП по знаку (по S=1 СМК:=А)

11. JC

УП по переносу (по C=1 СМК:=А)

12. JOVR

УП по переполнению (по OVR=1 СМК:=А)

13. EndZ

Конец цикла по нулю (по Z=1 – выход из цикла и выталкивание стека, по Z=0 АМК = стек)

14. EndS

Конец цикла по знаку (по S=1 – выход из цикла)

15. EndC

Конец цикла по переносу (по С=1 – выход из цикла)

16. Резерв

Не используется

Адрес МК формируется на выходе СМК. Счетчик микрокоманд выполнен на основе трех блоков: СМК, КСЧ, СМК'. Регистр микрокоманд РМК выполнен на триггерах типа MS, т. е. состоит из РМК' (1-й уровень) и РМК (2-й уровень). В РМК' микрокоманда заносится по срезу сигнала С, т. е. по ¬С, а в РМК она переписывается по фронту С. Блок декодирования полей Y1…YH (пунктирные линии на рис. 23) в лабораторном макете не реализован (так как ОА отсутствует).

Р и с . 2 3 . Схема лабораторного макета УА

Блок (схема) формирования адреса МК (рис. 24) содержит накопительный СМК, стек, преобразователь начального адреса ПНА на основе трех блоков: СМК, КСЧ, СМК' . Комбинационный счетчик КСЧ реализует микрооперацию счета ВЫХ:=ВХ+1, т.е. СМК' :=СМК+1. Блоки СМК' , СМК выполнены как регистры на синхронных D-триггерах. Адрес МК на вход СМК мультиплексор адреса МА может выдавать из 4 мест:

– с входа D (по сигналу у1),

– с выхода ПНА (по сигналу Start),

– из (вершины) стека (по сигналу у2),

– из СМК (по сигналу у3).

Р и с. 24. Схема блока формирования адреса МК

На вход D адрес A подается из поля A РМК. Сигнал у2 вырабатывается при выполнении МК условного и безусловного переходов. Стек используется для обслуживания МК Call, Ret, Push, EndZ, EndC, EndS (табл. 6). При их выполнении может вырабатываться сигнал у2 (см. табл. 7). Сигнал у3 вырабатывается при выполнении МК естественного перехода по СМК.
ПНА обычно реализуется на основе ПЗУ, в ячейках (с адресами g (1, 2, 3, …, G)) которого размещены пусковые адреса микропрограмм МПg. Однако введение дополнительного ПЗУ в состав схемы ФАМ увеличивает продолжительность такта ТУА. Чтобы этого не произошло можно код g использовать как пусковой адрес. Для этого в ячейке ПМП с номером g (1, 2, 3, …,
G) следует поместить МК безусловного перехода, в адресной части которой указан адрес первой микрокоманды МКg1 микропрограммы МПg. Поэтому в схеме лабораторного макета ПНА отсутствует.

Порядок работы УА представлен временной диаграммой (рис. 25). По сигналу сброса Res УА приводится в исходное состояние (готовности выполнять операции) – сбрасывается РМК, устанавливается сигнал (флаг) готовности Ready (на выходе триггера TT). Сброшенный РМК содержит МК «Jmp 0».

Р и с . 2 5 . Временная диаграмма работы УА

По первому (после RES) тактовому сигналу C в регистр СМК заносится адрес МК, равный нулю (поскольку РМК сброшен и на входе D адрес А=0). По нулевому адресу в ПМП записана МК Jmp с адресом A=0 - переход на нулевую ячейку. Она извлекается и загружается в РМК. Тем самым начинается (бесконечный) цикл передачи управления на себя. Он прерывается по сигналу Start и запускается процесс выполнения микропрограммы МПg. По сигналу Start и коду операции g (поступающим из ЦУУ процессора) начинается процесс выполнения операции fg (микропрограммы МПg). По сигналу Start сбрасывается триггер ТT, т.е. сигнал готовности READY=0, и формируется начальный (пусковой) адрес МПg, по которому из памяти микропрограммы выбирается первая МК микропрограммы МПg и заносится в РМК. По сигналу Start адрес первой микрокоманды МКg1 МПg заносится в СМК (по фронту сигнала С) и появляется на выходе АМК. По нему из ПМП выбирается первая МКg1 и заносится в РМК'(по С), а затем - в РМК (по ¬С). Кроме того, по сигналу ¬С в регистр СМК заносится АМК (из СМК), увеличенный на 1 в КСЧ.

Во втором такте адрес МК формируется в зависимости от типа первой МК, записанной в РМК. Если эта МК генерирует переход, то в СМК заноситься адрес либо со входа D (из поля А РМК), либо из (вершины) стека. Если это МК естественного перехода, то в СМК заносится СМК+1 с выхода КСЧ. В конце МПg ставится МК Endmp (конец МП), по которой вырабатываются сигналы уМ+1 (конец алгоритма). Он устанавливает триггер Т и тем самым формирует сигнал READY=1, обнаружив который, ЦУУ сохраняет результат операции fg в памяти (в соответствии с адресной частью команды).

В макете реализован стек емкостью две ячейки (регистры R0, R1, на основе триггеров типа MS). Двух ячеек достаточно для обслуживания команд Call, Ret, EndZ и др., но недостаточно для написания вложенных подпрограмм, организованных с использованием команд конец цикла. Схема стека и временная диаграмма представлены на рис. 26 и 27 соответственно.

Р и с . 2 6 . Схема стека

Р и с . 2 7 . Временная диаграмма работы стека

Стек работает следующим образом. После сброса указателя стека УС (по сигналу Res) стек пуст и готов выполнять действия в соответствии с типом МК, находящейся в РМК. Блок дешифрации типа МК (поля Х) вырабатывает сигналы, управляющие схемой ФАМ: y1, y2, y3, FE, PUP. Для управления работой стека предназначены сигналы FE, PUP. Сигнал FE=1 разрешает работу стека (FE=0 – запрещает). Если FE=1, то по сигналу PUP=1 выполняется запись в стек, а по сигналу PUP=0 - чтение стека. Запись в стек осуществляется
в два этапа:
1) сначала модификация УС:=УС+1 (в начале такта – по С). Увеличение УС на 1 означает проталкивание стека;
2) затем запись в вершину стека [УС]:=IN (сигналами W0, W1 в середине такта – по ¬C).

Чтение (выталкивание) стека:
1) чтение из вершины стека OUT:= [УС] (постоянно);

2) модификация УС:=УС–1 (по сигналу С) – выталкивание стека.

Чтение из стека (выдача на выход OUT) осуществляется с помощью мультиплексора MS, управляемого сигналами «0», «1» с выхода УС, выполненного на основе триггера со счетным входом (типа ТТ).

Блок декодирования типа МК (поля Х) (рис. 28) обеспечивает управление схемой ФАМ: коду из поля Х и логическим условиям Z, S, C, OVR из ОА ставит в соответствие набор управляющих сигналов y1, y2, y3, FE, PUP, yM+1.

Р и с . 28. Схема блока декодирования поля Х

Формирование управляющих сигналов производится в зависимости от типа МК (кода в поле Х) и признаков (флагов) Z, S, C, OVR, вырабатываемых в ОА. Мультиплексор флагов MSF выбирает одно из условий и подает его значение на вход TST блока формирования управляющих сигналов (ФУС). Номер логического условия НЛУ представлен младшими битами поля Х. Блок ФУС вырабатывает сигналы в соответствии с табл. 7.

              Таблица 7 - Формирование управляющих сигналов

Тип перехода

Код Х

TST

Выходные сигналы (активные)

ст. биты

НЛУ

y1

y2

y3

FE

PUP

yМ+1

Jmp

00

00

1

 

 

 

 

 

Cnt

00

01

 

 

1

 

 

 

Резерв

00

10

 

 

 

 

 

 

Call

00

11

1

 

 

1

1

 

Ret

01

00

 

1

 

1

0

 

Push

01

01

 

 

1

1

1

 

Endmp

01

10

 

 

 

 

 

1

Резерв

01

11

 

 

 

 

 

 

JZ

10

00 (Z)

0

 

 

1

 

 

 

1 (да)

1

 

 

 

 

 

JS

10

01 (S)

0

 

 

1

 

 

 

1

1

 

 

 

 

 

JC

10

10 (C)

0

 

 

1

 

 

 

1

1

 

 

 

 

 

JOVR

10

11 (OVR)

0

 

 

1

 

 

 

1

1

 

 

 

 

 

EndZ

11

00

0

 

1

 

 

 

 

1

 

 

1

1

0

 

EndS

11

01

0

 

1

 

 

 

 

1

 

 

1

1

0

 

EndC

11

10

0

 

1

 

 

 

 

1

 

 

1

1

0

 

Резерв

11

11

 

 

 

 

 

 

2.2 Задание на самостоятельную работу

1. Изучить схему и операционные возможности УА АЛУ.
2. В соответствии с указанными преподавателем вариантом задания и пусковым адресом микропрограммы разработать микропрограмму, обязательно содержащую (использующую) указанные в задании типы микрокоманд переходов. Варианты заданий представлены в табл. 8. Выполнить микропрограмму в шаговом режиме. Перед выполнением загрузить (инициализировать) память микропрограмм. Для этого после этапа компилирования проекта запустить симулятор, войти в меню инициализации, выбрать режим инициализации памяти. Результаты выполнения представить в виде временной диаграммы и трассы в виде таблицы.

          Таблица 8 - Варианты для самостоятельного задания

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

Условн. переход

Безусловн. переход

Цикл

1

jz

jmp

endz

2

jz

jmp

ends

3

js

jmp

endc

4

jovr

jmp

endz

5

jc

call, jmp

ends

6

jz

jmp

endc

7

jz

call, jmp

endz

8

js

jmp

ends

9

jovr

jmp

endc

10

jc

jmp

endz

11

jz

jmp

ends

12

jz

call, jmp

endc

13

js

jmp

endz

14

jovr

jmp

ends

15

jc

jmp

endc

16

jz

jmp

endz

17

jz

jmp

ends

18

js

jmp

endc

19

jovr

call, jmp

endz

20

jc

jmp

ends

21

jz

jmp

endc

22

jz

call, jmp

endz

23

js

jmp

ends

24

jovr

jmp

endc

25

jc

call,jmp

endz

2.3 Содержание отчёта

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

Следует сделать выводы по результатам работы.

2.4 Контрольные вопросы

  1. Назначение и организация работы УА (рис. 23).
  2. Назначение и организация работы блока ФАМ (рис. 24).
  3. Какие сигналы определяют адрес на выходе БФАМ?
  4. Назначение стека и порядок его работы (рис. 26).
  5. Назначение СМК и порядок его работы.
  6. Назначение полей Х и А микрокоманды.
  7. Назначение и организация работы блока декодирования типа МК (поля Х).
  8. Назначение сигналов start, ready, res, yM+1.
  9. Поясните порядок выполнения работы на примере 1 варианта задания.
  10. Поясните микрокоманды условного перехода.
  11. Поясните микрокоманды безусловного перехода.
  12. Поясните микрокоманды push, endmp.

ЗАКЛЮЧЕНИЕ

В предлагаемых методических указаниях к лабораторным работам рассмотрены вопросы:

1)     принципы действия и структурная организация составных блоков АЛУ – операционного и управляющего автоматов;

2)     основы работы с современными средствами проектирования цифровых вычислительных систем;

3)     процесс функционирования АЛУ во времени (в режиме компьютерного симулятора).

Рассмотрен двухтактный конвейерный АЛУ на основе принципа микропрограммного управления, применяющегося сейчас практически во всех цифровых вычислительных устройствах. Для изучения использован макет АЛУ, характерной особенностью которого является 2-уровневое управление процессом вычислений, также широко применяемое в современных ЭВМ и контроллерах.

В лабораторных работах использованы компьютерные модели, так называемые «проекты», разработанные в среде Max+Plus II студентами и преподавателями СГАУ. Данный термин введен фирмой «Altera», разработавшей указанную САПР. В графическом диалоговом интерфейсе этой САПР проект представлен как структурно-функциональная блок-схема, содержащая условные обозначения, близкие к стандартным. Аналогичный подход применен и при компьютерном моделировании работы проекта. На экране дисплея при этом изображаются временные диаграммы, которые может изменять пользователь. Пользовательский интерфейс дает возможность заглянуть в любую точку проекта, то есть, как бы добраться щупом виртуального осциллографа туда, куда обычно, при интегральном исполнении устройств, это сделать невозможно. Это способствует глубокому изучению предмета.

В данных методических указаниях студенты вначале знакомятся с основами проектирования в MAX+PLUS II. Полученные знания они затем используют при изучении АЛУ. Студенты изучают АЛУ, используя проекты его отдельных компонентов, таких как ОА и УА.

Описанные здесь лабораторные работы входят в практическую часть курсов «Организация ЭВМ и вычислительных систем» и «ЭВМ и периферийные устройства» по специальности «АСОИУ». Для этого они используются совместно с четырьмя другими лабораторными работами, методические указания к которым издаются отдельно. Это лабораторная работа по ознакомлению с MAX+PLUS II, лабораторная работа по изучению структурной организации АЛУ в целом (то есть, с ОА и УА), лабораторная работа, посвященная функциональной организации ЭВМ, на примере системы прерываний компьютеров IBM PC, а также лабораторная работа, посвященная системе ввода/вывода компьютеров этого семейства.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Поречный, В.  Использование САПР «MAX+PLUS II" для разработки цифровых устройств на ПЛИС фирмы «Altera» [Электронный ресурс] / В. Поречный. ‑ URL: http://www.epos.ua/view.php/pubs_3?subaction=showfull&id=983311200&archive=&start_from=&ucat=3& ‑ (Дата обращения 30.05.2013).
  2. Стешенко, В. Б. ПЛИС фирмы «Altera»: элементая база, система проектирования и языки описания аппаратуры [Электронный ресурс] / В. Б. Стешенко // 3-е изд., стереотипное.‑ М.: Издательский дом «Додэка-XXI», 2007. ‑ 576 с. ‑ ISBN 978-594120-112-9. – 1 электрон. опт. диск (CD-ROM).
  3. Орлов, С. А. Организация ЭВМ и систем: учебник для вузов [Текст] / С. А. Орлов, Б. Я. Цилькер. – 2-е изд. – СПб.: Питер, 2011. – 688 с. – ISBN 978-5-498097-862-5.
  4. Павлов, В. П. Организация ЭВМ и систем: учеб. пособие для студентов заоч. формы обучения / В. П. Павлов : Самар. гос. аэрокосм. ун-т им. С. П. Королева. – Самара: Самар. аэрокосм. ун-т, 2000. – 181, (1) с.  – ISBN 5-7883-0122-X.
  5. Баранов, С. И. Синтез микропрограммных автоматов [Текст] / С. И. Баранов. – 2-е изд., перераб. и доп. – Л.: Энергия, 1979. – 231 с.

ПРИЛОЖЕНИЕ А ПРИМЕРЫ ОТЧЁТОВ ПО ЛАБОРАТОРНЫМ РАБОТАМ

В этом приложении приведены примеры отчётов по двум лабораторным работам: операционный автомат, управляющий автомат.

А.1 Организация ОА АЛУ

Цель лабораторной работы – изучение принципов построения и архитектуры АЛУ.

Задание на самостоятельную работу : выполнить вариант №1 задания: Y=N1-2N2 (для n=4). Коды микропрограммы приведены в табл. А.1.

            Таблица А.1 - Микропрограмма

(цифры в столбцах, начиная со второго – в бинарном коде)

Описание МО

Источники операндов

Операция

Приемники результата

Адреса

Вход перен.

Тип сдвига

y0, yD

ALO

yw, yout

А1

A2

Сin

SH

1. РОН0:=
D V 0

01

011

10

-

0000

-

000

2. РОН1:=
2(D V 0)

01

011

10

-

0001

-

011

3. РОН0:=
РОН0-РОН1

10

010

11

0001

0000

1

000

Первая микрооперация обеспечивает загрузку (ввод) в регистр РОН0 значения первого операнда N1, подаваемого извне на вход D.

Вторая микрооперация обеспечивает загрузку (ввод) в РОН1 значения второго операнда N2 со сдвигом влево на один разряд.

Третья микрооперация обеспечивает вычитание N1- 2N2 и запись результата в РОН0.

Кодирование микроопераций выполнено в соответствии с табл. А.1 (источники операндов), табл. А.2 (реализуемая УКС операция), табл. А.3 (тип сдвига) и табл. А.4 (приемники результата) [1], список источников см. в конце примера.

               Таблица А.2 - Трасса микропрограммы

(цифры в столбцах, начиная со второго – в бинарном коде)

Микрооперация

Входы

Результаты (выходы)

D

Сin

F

B

РОН0

РОН1

SL0

СF

ZF

OF

SF

1. РОН0:=
DÚ0

1101

0

1101

1101

1101

-

-

-

0

-

1

2. РОН1:=
2(DÚ0)

0011

0

0011

0110

1101

0110

0

-

0

-

0

3.РОН0:=
РОН0-РОН1

-

1

0111

0111

0111

0110

-

1

0

1

0

Результаты выполнения (трасса) микропрограммы для N1= -3 (в дополнительном коде это 1101) и N2= +3 = 0011 представлены ниже в табл. A.2.Значения операндов выбраны таким образом, чтобы результат переполнил разрядную сетку.

Временные диаграммы работа проекта ОА представлены на рис. A.1.

Микрооперации, выполняемые ОА:

1. D V 0 - 1101 V 0000=1101 → РОН0), флаг ZF=0, так как результат не нулевой, SF=1 – старший разряд результата равен 1,

2. 2(D V 0) → SHL1(0011 V 0000)=0110 → РОН1, SL0=0, ZF=0, SF=1, флаги СF, OF – не формируются,

3. -3-L1(+3)=-3-6= -9, РОН0-РОН1 → 1101 – 0110 = 0111 → РОН0, флаги ZF=0, SF=0, СF=1, OF =1, так как результат переполняет разрядную сетку. Операция вычитания производится путем формирования дополнительного кода вычитаемого (0110 → 1001+1=1010) и сложения его с первым операндом (1010+1101=0111=+7) . В процессе сложения формируется сигнал переноса из старшего разряда сумматора COUT, равный 1. Старший (знаковый) разряд суммы при этом становится равным нулю (т.е. портится), что свидетельствует о переполнении разрядной сетки.

В табл. А.3 приведены обозначения входов и выходов в проекте и в методических указаниях. Проект находится в папке «\oa_full.dir» [2]. В проекте для работы микросхемы памяти (там находятся РОНы) надо на входе P/D_USE (в методич. указаниях он не отмечен) задать единицу. Перед запуском команды Max+II| Simulator выбрано значение параметра Option| Grid Size=5 нсек.

           Таблица А.3- Обозначения входов и выходов ОА АЛУ в проекте и в МУ

Метод. указания

Проект

D

D

C0

Cin

Y

Y[3..0]

PQ

PQ[3..0]

РОН

Lq0_[3..0]

PR3

PRhi

C4

Cout

Z

Z

OVR

OVR

F3

Fhigh

Продолжительность такта: 50 нс. Откуда тактовая частота: 20 МГц. Время задержки определено между передним фронтом ГТИ (вход Clc) и выходом R[4..1], так как на нем позднее всего появляются результаты расчетов.

Передний фронт ГТИ, откуда начинаем отсчет, первый после фронта C_I, запускающего ОА. Время задержки составило 20 нс. Оно немного меньше, чем половина периода ГТИ, поскольку расчеты должны быть завершены в течение первой половины такта, во второй половине такта результаты записываются в память ОА. По внутреннему выводу |ron_4|arr_reg3|q2_[4..1], определяем быстродействие ОА, так как на этом выводе результаты появились позже всего. Итак, время задержки выполнения обеих операций в ОА составило 30 нс. Тактовая частота проекта выбрана максимальной, из расчета длительности первой из операций. Длительность этой операции определяется временем чтения и записи данных в ПЗУ. Итак, максимальная тактовая частота работы ОА АЛУ составила 20 МГц. Это много меньше, чем тактовая частота микропроцессора у современных компьютеров, но характерно для современных микроконтроллеров.

Р и с. А.1. Временные диаграммы работы ОА

Выводы:

–         изучены принципов организации ОА АЛУ;

–         выполнен вариант задания в «полуавтоматическом» режиме, то есть, без УА;

–         успешно проведена верификация проекта на тестовой микропрограмме;

–         быстродействие ОА ограничивают микросхемы ОЗУ.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Организация арифметико-логических устройств ЭВМ [Электрон. ресурс]: метод. указания к лаб. раб. по курсу Б3.Б.2 «ЭВМ и периферийные устройства» направления 230100.62 «Информатика и выч. техника» / сост. О. А. Заякин, В. П. Павлов. – Самара: Изд-во СГАУ, 2014.
  2. Учебно-методический комплекс дисциплины «Аппаратные средства выч. техники» [Электрон. ресурс] / Самарский гос. аэрокосм. ун-т; специальность 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем»; учебный план 0901105.65-10-О-П; фак-т «Информатика», каф. информационных систем и технологий. – Самара, 2010. – 1 CD-R. – Доступен на каф. ИСТ.

А.2 Организация управляющих автоматов АЛУ

Здесь находится пример отчёта по лабораторной работе, посвященной изучению управляющего автомата АЛУ

Цель лабораторной работы – изучение принципов построения операционных автоматов арифметико-логических устройств (ОА АЛУ).

Задание на самостоятельную работу: выполнить вариант №1 задания;. коды микропрограммы приведены в табл. А.4.

                Таблица А.4 - Микропрограмма (для g=1 и пускового адреса а=0Аh )

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

Код микрокоманды, HEX

Адрес МК

Мнемоника МК

Тип микрокоманды X

Адрес микрокоманды А

а+0 (0Ah)

Cnt (начало)

0001

-

a+1 (0Bh)

Jz 11h

1000

11h

а+2 (0Ch)

Push

0101

-

а+3 (0Dh)

Cnt

0001

-

а+4 (0Eh)

Endz

1100

-

а+5 (0Fh)

Cnt

0001

-

а+6 (10h)

Endmp (конец)

0110

-

а+7 (11h)

Cnt

0001

-

а+8 (12h)

Jmp 0Fh

0000

0Fh

В работе рассматривается АЛУ с программируемой логикой управления [1]. Список источников см. в конце примера.

На рис. А.2 приведена схема алгоритма микропрогаммы.

Р и с. А.2. Алгоритм микропрограммы ОА АЛУ

Результаты ее выполнения (трасса и временная диаграмма) представлены в таблице А.5 и рис. А.3.

В работе использован проект, который находился в папке «Лаб работы `Организация АЛУ` - Примеры выполнения программ для лаб работы\2011\alu_full6310s.dir» [2]. В нем для компиляции использован файл ..\ua.gdf. Микропрограмма сначала была записана в память. Для этого перед компиляцией была выбрана опция Assign | Device | FLEX10KA. Далее, после компиляции, при исполнения проекта на симулятора MAX+PLUS II использован файл ..\\ua.scf. После выбора опции «Simulator», но до нажатия его клавиши «Start», была инициализирована память путем выбора опции «Initialise | Initialise memory». При этом была выбрана опция: «Memory name | pzu:37:lpm_rom:LPM_ROM_component|altrom:srom|content», и затем в открывшемся диалоговом окне была выбран файл «Import file | ua(1)й.mif».

              Таблица А.5 - Трасса микропрограммы

Микрокоманда

Входы (h)

Выходы (h)

Стек (h)

Адрес МК (h)

Мнемоника МК

RES

Start

g

Z

Усл. TST

Адрес сл. МК

 

Ready

Регистр МК

R0

R1

X

A

01

Jmp 0Ah

1

1

1

0

0

0A

1

0000

0A

 

0A

Cnt

0

0

0

0

0

0B

0

0001

00

 

0B

Jz 11h

0

0

0

0

0

0C

0

1000

11h

 

0C

Push

0

0

0

0

0

0D

0

0101

00

 

→0Dh

0D

Cnt

0

0

0

0

0

0E

0

0001

00

 

→0Dh

0E

Endz

0

0

0

0

0

0D

0

1100

00

 

→0Dh

0D

Cnt

0

0

0

0

0

0E

0

0001

00

 

→0Dh

0E

Endz

0

0

0

1

1

0F

0

1100

00

0Dh

0F

Cnt

0

0

0

0

0

10

0

0001

00

0Dh

10

endmp

0

0

0

0

0

00

1

1100

00

0Dh

01

Jmp 0Ah

0

1

1

0

0

0A

1

0000

0A

0Dh

0A

Cnt

0

0

0

0

0

0B

0

0001

00

0Dh

0B

Jz 11h

0

0

0

1

1

11

0

1000

11h

0Dh

11

Cnt

0

0

0

0

0

12

0

0001

00

0Dh

12

Jmp 0Fh

0

0

0

0

0

0F

0

1000

11h

0Dh

0F

Cnt

0

0

0

0

0

10

0

0001

00

0Dh

10

endmp

0

0

0

0

0

00

1

1100

00

0Dh

00

Jmp 00h

0

0

0

0

0

00

1

0000

00

0Dh

Примечание ‑ знак “→” показывает положение указателя стека УС.

Р и с. А.3. Временные диаграммы работы проекта УА АЛУ

Результаты исследований

Продолжительность такта: 130 нс.

Задержка определена как время от фронта ГТИ, первого после фронта сигнала START, и до установления уровня после перехода из 0 в 1 (окончания длительности переднего фронта) вывода памяти ПЗУ: |sfam:16|A[7..0]. Этот переход был выбран, как последний на временной диаграмме из всех выводов, по которым мы определяли реакцию макета УА.

Таким образом, тактовая частота в макете была практически максимальной. При этом частота ГТИ составила 7,7 МГц. Если сравнить с ОА, то получается, что УА работаем медленнее. Очевидно, быстродействие ограничивают блоки ОЗУ.

Выводы:

–      изучены принципов организации УА АЛУ;

–      выполнен проект устройства без УА;

–      успешно проведена верификация проекта на тестовой микропрограмме;

–      оказалось, чтоУА работает медленнее, чем ОА, очевидно, это связано с быстродействием ОЗУ;

–      быстродействие УА ограничивают микросхемы ОЗУ.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Организация арифметико-логических устройств ЭВМ [Электрон. ресурс]: метод. указания к лаб. раб. по курсу Б3.Б.2 «ЭВМ и периферийные устройства» направления 230100.62 «Информатика и выч. техника» / сост. О. А. Заякин, В. П. Павлов. – Самара: Изд-во СГАУ, 2014.
  2. Учебно-методический комплекс дисциплины «Аппаратные средства выч. техники» [Электрон. ресурс] / Самарский гос. аэрокосм. ун-т; специальность 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем»; учебный план 0901105.65-10-О-П; фак-т «Информатика», каф. информационных систем и технологий. – Самара, 2010. – 1 CD-R. – Доступен на каф. ИСТ.

1.1 Цель лабораторной работы – изучение принципов построения операционных автоматов арифметико-логических устройств (ОА АЛУ)

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

1.1.1 Принципы построения операционного автомата арифметико-логического устройства

При построении ОА АЛУ можно использовать различные способы орга­низации, отличающиеся по техническим характеристикам ‑ производитель­ности, быстродействию и затратам оборудования [4].

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

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

Затраты оборудования определяются суммарным числом элементов в памяти ОА, комбинационных схемах, реализующих МО и формирующих значения ЛУ, и зависят от сложности и количества КС и регистров.

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

Универсальность (многофункциональность) структуры - возможность выполнения этой структурой широкого класса функций. Если структура ОА универсальна, то реализация любого алгоритма сводится к перестройке структуры внешними средствами путём микропрограммирования. Определение степени универсальности вызывает трудности, однако несложно выполнить сравнительную оценку универсальности двух структур, то есть определить, какая структура из двух является более универсальной. Чем более универсальна структура, чем шире область её применения. Увеличение степени универсальности структур позволяет сохранить номенклатуру выпускаемых изделий и увеличить объём их выпуска, что приводит к снижению стоимости производства. Эти характеристики структур особенно важны для БИС, так как их проектирование требует значительных затрат, которые окупаются при большом объёме производства. Следовательно, увеличение универсальности структуры приводит к снижению стоимости даже в тех случаях, когда универсальность достигается за счёт введения дополнительного оборудования.

Опыт проектирования показывает, что регулярность и универсальность - взаимосвязанные свойства, поэтому увеличение степени универсальности можно достичь за счёт увеличения степени регулярности структуры.

В зависимости от производительности и затрат оборудования различают ОА с максимальными характеристиками (с максимальной производительностью и максимальными затратами оборудования) - это I-автоматы, ОА с минимальной производительностью (одна МО за один такт) - М-автоматы, ОА с промежуточными значениями характеристик - IM-автоматы.

Структура ОА предопределяется его функцией. Функция ОА задаётся в виде трёх множеств:

- множество (список) СМО=(МО1, …, МОМ) или Y=(y1,…,yМ),

- множество (список) ЛУ=СЛУ=(ЛУ1, …, ЛУL) или X=(x1,…,xL),

- множество слов S1, …, SК (операндов, результатов, внутренних слов).

Микрооперация описывается оператором присваивания:

Si:=φm(Sj,Sn), (2)

где φm ‑ некоторая вычислимая функция (например, сложение);

Sj, Sn ‑ её аргументы (слова-операнды);

Si ‑ значение функции φm, вычисленное при заданных значениях Sj=Sj*, Sn=Sn* и присвоенное слову Si (Si ‑ слово-результат).

Выполнение МОmСМО в ОА осуществляется под управлением сигнала ymY, поступающего из УА (рис. 1). Поэтому микрооперация МОm обычно отождествляется с управляющим сигналом ym, который возбуждает её выполнение в ОАym:Si:=φm(Sj,Sn). Поэтому набор Y=(y1,…,yМ) рассматривается и как список микроопераций СМО, и как список сигналов Y.

Логическое условие описывается выражением:

xl:=l(Si), (3)

где l ‑ булева функция;

Si ‑ ее аргумент;

xl ‑ значение функции l, вычисленное при Si= Si*.

Например, сигнал xl=1, если значение слова Si*=0, или xl=0, если Si*≠0. Набор значений X=(x1,…,xL) отображает состояние ОА.

Для хранения значений слов S1, …, SК используются одноименные регистры ОА, количество которых равно К. В этом случае МО вида (1) будет выполняться за один такт. Однако, в целях экономии оборудования, в ОА используют всего один регистр–аккумулятор (как в ЭВМ с аккумуляторной архитектурой). В этом случае для хранения остальных слов используются ячейки памяти, поэтому в алгоритме операции fgF появляются дополнительные действия: загрузить (операнд в регистр), записать (результат в ячейку), увеличивающие время выполнения операции fgF(количество тактов).

Максимальная производительность ОА первого типа (I-автомата) обеспечивается тем, что его структура организуется в виде, который позволяет в одном такте выполнять все функционально совместимые МО. Для I–автомата характерно, что каждый из регистров S1, …, SК обслуживается своей комбинационной схемой Ф1, …, ФК, средствами которых реализуются МО!, …, МОК, вычисляющие значения соответствующих слов. Отсюда максимальная производительность, которая при наличии К регистров и К комбинационных схем Ф1, …, ФК в принципе может достигать К микроопераций за такт.

В структуре I-автомата могут содержаться эквивалентные по функциям КС, используемые для обслуживания различных регистров. Следовательно, затраты оборудования в комбинационной части ОА можно уменьшить, если использовать одну схему для выполнения всех эквивалентных МО. ОА, построенные на основе принципа обобщения комбинационных схем, используемых для выполнения МО, называются М–автоматами. В них для вычисления любого двоичного выражения m(S1, …, Sk) используется одна (универсальная) комбинационная схема Ф, равнодоступная по отношению к регистрам S1, …, SК ОА. Структура М-автомата представлена на рис. 2.

Операнды, участвующие в МОm, подаются на входы А и В универсальной КС Ф по шинам А, В с помощью мультиплексоров MSA, MSB. Для выборки слов на шину А (для управления схемой MSA) используются сигналы a1, …, aK, а для выборки слов на шину В (для управления MSB) – b1, …, bK. Сигнал ai инициирует микрооперацию передачи A:=Si, a сигнал bj – микрооперацию B:=Sj. Cхема Ф на выполнение микрооперации C:=m(A,B) настраивается сигналом уm, m=1, … , M, управляющим мультиплексором MSC. Результат МОm с выхода C схемы Ф заносится в регистр Sn сигналом cn, управляющим демультиплексором DMC.

Чтобы выполнить микрооперацию Sn:=m(Si,Sj) необходимо подать набор управляющих сигналов (ai, bj, уm, cn), под воздействием которых на входы KC m подаются слова Si, Sj. Над ними выполняется преобразование m и результат загружается в регистр Sn. Для выполнения унарной МО (например, микрооперации счета Sn:=Sn+1) ни один из сигналов bj не вырабатывается (операнд В=0) и схема Ф реализует МО счета (увеличение операнда Sn на 1).

Загрузка операндов в регистры ОА извне (с шины D) осуществляется путем их подачи на вход B схемы Ф под управлением сигнала bD B:=D. Одновременно на вход A подается константа ноль (по сигналу а0), а в схеме Ф возбуждается МО «ИЛИ» C:=AvB (0vD), результат которой по сигналу cn записывается в регистр Sn. Выдача результата операции fgF на выходную шину R осуществляется по сигналу сR.

Как видно из рис. 2, в каждом такте М-автомат может выполнить только одну МО вида Sn:=m(Si,Sj), т.е. производительность М-автомата минимальная. По быстродействию М-автомат и I-автомата отличаются незначительно, так как длительность такта М-автомата увеличивается не более чем на 2τ за счет введения в схему мультиплексоров MSA, MSB. Затраты оборудования в М-автомате минимальны, поскольку каждая схема iФ используется для выполнения всех эквивалентных МО.

Для обеспечения устойчивости (устранения «гонок») в М-автомате регистры S1, … , SK выполняют на основе двойных триггеров типа MS (Master Slave). Количество оборудования в каждом регистре при этом удваивается. Более экономична схема, в которой в выходную шину С (на входе демультиплексора DMС) устанавливается вспомогательный регистр Sс (одинарный, типа D). Запись в него осуществляется в середине такта (по инверсному сигналу ТИ). Регистры S1,…, SК при этом также организуются на более простых одинарных триггерах типа D. Запись информации (обновление) в них осуществляется в начале такта (по прямому сигналу ТИ).

Итак, структурная организация I-автоматов базируется на принципе закрепления комбинационных схем, используемых для выполнения МО, за каждым из регистров S1,…, SК. За счёт этого все функционально совместимые МО могут выполняться параллельно в одном такте и их результаты записываются в разные регистры. Структурная организация М-автоматов базируется на обобщении КС по отношению ко всем регистрам, за счёт чего уменьшаются затраты оборудования.

Эти два класса автоматов обладают противоположными свойствами. Для I-автоматов характерны максимальная производительность и наибольшие затраты оборудования, а для М-автоматов - наоборот. Между этими двумя классами структур ОА лежат варианты структур ОА (IM-автоматы), обладающие промежуточными свойствами. ОА, структурная организация которых вносит ограничения на совместимость МО и, одновременно с этим, обеспечивает выполнение более чем одной МО за такт, называют IM-автоматами. Организация IM-автоматов также базируется на принципе обобщения эквивалентных КС, однако степень обобщения не столь высока, как в М-автоматах, и позволяет в одном такте выполнять более сложные действия, чем Si := m(Sj), Si := m(Sj,Sn), типичные для М-автоматов.

Структурная организация IM-автоматов базируется на использовании (для выполнения МО) последовательного и параллельного соединения многофункциональных КС Ф1, Ф2, … . Первое приводит к структурам IM-автоматов с последовательной комбинационной частью (рис. 3), а второе – к IM-автоматам с параллельной комбинационной частью (рис. 4).

Рис. 3. Структура IM-автомата с последовательной комбинационной частью

Принцип последовательной организации приводит к структурам, в которых комбинационная часть состоит из обычно из трёх схем Ф1, Ф2, Ф3, реализующих микрооперации из трёх множеств {fk}, {gl}, {hm} соответственно (рис. 3). Схема Ф1 обычно служит для формирования констант, полей, инверсий кодов, возбуждаемых одним из сигналов множества {fk} и называется формирователем кодов (для схемы Ф2). Схема Ф2 обычно служит для выполнения бинарных опера­ций (например, сложение), возбуждаемых одним из сигналов множества {gl}. Схема Ф3 используется для выполнения унарных МО сдвига, возбуждаемых одним из сиг­налов множества {hm}, и называется сдвигателем. В одном такте такой ОА может выполнить преобразование Sn:=hm(gl(Si,fk(Sj))), эквивалентное трем последовательно выполняемым МО fk, gl, hm. Выбор операндов из регистров Si, Sj и запись результата в регистр Sn обеспечивается мультиплексорами MSA, MSB и демультиплексором DMC под управлением сигналов их наборов {yA}, {yB}, {yC}. В результате производительность IM-автомата в три раза превышает производительность M-автомата. Однако продолжительность такта больше вследствие последовательного соединения схем Ф1, Ф2, Ф3.

Принцип параллельной организации приводит к структурам, в которых комбинационная часть состоит из нескольких (например, двух) схем Ф1, Ф2, реализующих микрооперации из {fn}, {gh} (рис. 4). Схема Ф1 обычно служит для выполнения бинарных операций, возбуждаемых одним из сигналов множества {fn}. Схема Ф2 используется для выполнения унарных МО, возбуждаемых одним из сигналов множества {gh}. В одном такте такой ОА может выполнить две МО - Sn:=fn(Si,Sj), Sr:=gh(Sk). Выбор операндов из регистров Si, Sj и запись результата в регистр Sn обеспечивается мультиплексорами MSA, MSB, MSC и демультиплексорами DM1, DM2, управляемых сигналами из наборов {yA}, {yB}, {yC}, {yD1}, {yD2}. В результате производительность такого IM-автомата в два раза превышает производительность M-автомата. IM-автомат с параллельной организацией можно считать композицией из нескольких (двух и более) М-автоматов, имеющих общую память S1, … , SК.

Рис. 4. Структура IM-автомата с параллельной комбинационной частью

 

1.1.2 Схема лабораторного макета операционного автомата арифметико-логического устройства

В качестве примера рассмотрим IM-автомат с последовательной комбинационной частью, функции которого заданы списками МО, ЛУ, количеством слов К и их разрядностью n в памяти ОА. Список арифметико-логических микроопераций Y1=ym, m(1, …, 8), A(1:n), B(1:n) - слова-операнды, F(1:n) - слово-результат:
1) F:=A+B+Cin - сложение, Cin – вход переноса в младший разряд сумматора;
2) F:=A-B-1+Cin - вычитание (сложение с дополнительным кодом B)
3) F:=B-A-1+Cin - вычитание;
4) F:=A v B – логическое сложение (дизъюнкция);
5) F:=A & B - логическое умножение (конъюнкция);
6) F:=¬A v B - инверсия, если B=0;
7) F:=A  B - исключающее ИЛИ;
8) F:=A  B - сравнение на равенство.
Список МО сдвига Y2 =yk, k(9, …, 16), (A(1:n) - операнд, B(1:n) - результат, С – бит переноса, сформированный ранее и занесенный в триггер С регистра признаков результата):
1) С.B:=C.A – нет сдвига;
2) B.C:= R1(0.A) – сдвиг вправо на 1 разряд с обнулением старшего разряда и с сохранением младшего разряда в C (логический сдвиг вправо);

3) B.C:= R1(A(1).A) – сдвиг вправо на 1 разряд с сохранением старшего разряда (знака) A(1) и младшего разряда в C (арифметический сдвиг вправо);

4) C.B:= L1(A.0) – сдвиг влево на 1 разряд с сохранением старшего раз-ряда в C и обнулением младшего разряда;

5) C.B:= L1(A.С) – циклический сдвиг влево на 1 разряд через C;

6) B.C:= R1(A.С) – циклический сдвиг вправо на 1 разряд через C;

7) C.B:= L1(A.A(1)) - циклический сдвиг влево на 1 разряд с сохранением старшего разряда A(1) в C;

8) B.C:= R1(A(0).A) – циклический сдвиг вправо на 1 разряд с сохранением младшего разряда A(n) в C;

Список (типичных) логических условий:

1) Z(zero) - признак (флаг) нулевого результата. Значение Z:=1, если ре-зультат F арифметико-логической МО равен 0, иначе (т. е. если F≠0) Z:=0;

2) S:=F(1) – значение старшего разряда результата F (при обработке чи-сел со знаками трактуется как знак (sign) результата);

3) OVR – признак переполнения. Значение OVR:=1, если результат F арифметической МО переполняет n–разрядную сетку;

4) C:=COUT – значение бита переноса из старшего разряда сумматора при выполнении операций сложения и вычитания (бит Carry).

При выполнении арифметических операций формируются все четыре ЛУ, при выполнении логических операций – только два – Z, S, сигналы С, OVR не изменяются. При выполнении операций сдвига могут измениться все четыре ЛУ.

Типичная структура IM–автомата с последовательной комбинационной частью представлена на рис. 3. Память S аналогична памяти M-автомата (на рис. 2). Комбинационная часть ОА АЛУ лабораторного макета (рис. 5) состоит из универсальной комбинационной схемы UKS и сдвигателя SH, соединенных последовательно, а также формирователя логических условий FLU.

Р и с . 5. Схема комбинационной части ОА

Схема UKS (рис. 6) обеспечивает выполнение МО из списка арифметико-логических операций под воздействием управляющих сигналов y1, …, y8, поступающих из УА АЛУ на входы {ym}.

Ри с . 6. Схема UKS

Сигнал y1 возбуждает МО сложения (первую МО в списке) y1:F:=A+B+Cin, сигнал y2 – вторую и т.д. по списку Y1= (y1, …, y8). Сигналы y1,…,y8 – это импульсы, продолжительность которых равна длительности такта ОА (остается неизменной, пока идет выборка операндов, выполнение МО, сохранение результата – см. временную диаграмму, рис. 7).

Рис. 7. Временная диаграмма работы UKS

Схемы ФКА и ФКВ (формирователи кодов на входах А и В сумматора SM) обеспечивают инвертирование операнда при выполнении операции вы-читания по сигналам y2, y3 соответственно. Выполнены они на основе двух-входовых элементов «исключающее или» в количестве n штук, на вторые входы которых подаѐтся сигнал y2 (или y3). Крестик на шинах, возле которого указан символ ym (например, y5) – означает управление шины этим сигналом.

Схема сдвигателя SH (рис. 8) обеспечивает выполнение МО сдвига из списка Y2 под воздействием сигналов y9,…,y16, поступающих из УА АЛУ на входы {yk} сдвигателя. Сигнал y9 возбуждает первую МО в этом списке (нет сдвига), сигнал y10– вторую и т.д. по списку. SLin, SRin - входы сдвигателя, используемые при левом (SLin) и правом (SRin) сдвигах. Выходы SL0, SR0 используются соответственно при левом и правом сдвигах.

Рис. 8. Схема сдвигателя SH

Нужная МО сдвига обеспечивается мультиплексорами правого (MSR), левого (MSL) сдвига и мультиплексором MSC, установленным на входе триггера TC, в котором сохраняется значение бита C. Микрооперации, вы-полняемые мультиплексором (например, y11, y14, y16 для MSR), являются несовместимыми и призваны обеспечивать коммутацию одного из входов на единственный выход. Например, сигнал y11=1 подает старший бит A(1) сдвигаемого слова A на вход SRin при выполнении MO y11:B.C:=R1(A(1).A)) – сдвиг правый арифметический. Формирователь логических условий FLU (рис. 9) обеспечивает формирование сигналов Z, C, S, OVR и сохранение их в регистре флагов RF.

Р и с . 9. Схема FLU

Формирование ЛУ осуществляется по следующим правилам. Если выполняется только АЛО микрооперация (без последующего сдвига ее результата), то формируются и заносятся в RF все четыре ЛУ. Если выполняется логическая микрооперация (без последующего сдвига ее результата), то формируются и заносятся в RF только Z, S (флаги CF, OF не изменяются). Если выполнение МО в УКС совмещается с микрооперацией сдвига, то формирование ЛУ осуществляется на основе результата МО сдвига на выходе сдвигателя. Флаг OF устанавливается в единицу, если в результате сдвига изменился знаковый (старший) разряд результата.

При выполнении арифметических МО формируется сигнал уАО=y1 V y2 V y3. Сигналы уSL=y12 V y13 V y15, уSR=y10 V y11 V y14 V y16 формируются при выполнении соответствующих МО левого и правого сдвига. Для формирования сигнала Z используется схема ИЛИ-НЕ. Сигнал S определяется значением В(1), т. е. S=В(1). Сигналы OVR и СOUT формируются в сумматоре SM.

Память S ОА (регистры S1,…,SК), см. рис. 10, выполнена в виде блока RON (регистров общего назначения - РОН). Доступ к ячейкам (регистрам) осуществляется по адресам (номерам) регистров 1, ..., К, подаваемым на адресные входы А, В. Такая организация эквивалентна схеме на рис. 2. Но в ней, для экономии элементов, регистры S1,…,SК выполнены на основе одинарных (синхронизируемых) D-триггеров, а для обеспечения устойчивости ОА (на входе IN блока РОН) поставлен буферный регистр BR, также построенный из одинарных D-триггеров.

Р и с. 10. Структура блока РОН ОА АЛУ

Запись слова со входа IN (по адресу на входе В) осуществляется по сигналу записи W демультиплексором, который возбуждается сигналами В1, …, ВK с выходов дешифратора DСВ, подключенными к входам синхронизации C регистров S1, …, SK соответственно. Сигнал записи W передаѐтся на вход C адресуемого регистра в виде импульса Bk с соответствующего выхода DCB, то есть сигнал записи W возбуждает МО записи: W:Sk:=IN (или W:[B]:=IN).

Таким образом, список МО записи результатов в регистры (S1,…, SК)  c1:S1:=IN, …, cK:SК:=IN, возбуждаемых сигналами c1,…,cК в структуре ОА, представленной на рис. 2, в блоке РОН заменяется одной МО записи вида «W: [B]:=IN», возбуждаемой сигналом W. Время выполнения МО записи τзапDCТР=τ+3τ=4τ. Чтение слов из регистров (выдача их на выходы OUTA, OUTB) осуществляется с помощью мультиплексоров MSA, MSB, управляемых сигналами А1, …, АК, В1, …, ВК с выходов дешифраторов DCA, DCB, на входы которых подаются адреса А, В регистров.

Микрооперации передачи слов на шины А, В a1:A:=S1, …, aК:A:=SК, b1:B:=S1, …, bК:B:=SК, возбуждаемые сигналами a1, …,aК, b1, …,bК в структуре ОА (рис. 2), в блоке РОН заменяются двумя МО вида – OUTA:=[A], OUTB:=[B]. Изменение адресов на входах A, B изменяет значения слов на выходах OUTA, OUTB с задержкой τ12 - на выходе OUTB (относительно сигнала W), и с задержкой τ1 - по отношению к моменту изменения адреса на адресном входе (рис. 11). Это значит, что на выход OUTA (OUTB) выдается значение слова Sk, k=A, (k=B) до тех пор, пока не изменится адрес на входе А (входе В), либо пока не изменится содержимое регистра Sk в момент записи по адресу В. τ2=3τ - это задержка в дешифраторе адреса и мультиплексоре MSA (MSB), τ1зап=4τ – это время переключения триггеров регистра при записи, где τ – время переключения логического элемента.

Р и с. 11. Временная диаграмма работы РОН ОА АЛУ

Укрупненная схема лабораторного макета ОА АЛУ показана на рис. 12.

ОА АЛУ выполняет МО двух типов. Микрооперация первого типа эквивалентна Snm(Si,Sj), возбуждаемой (рис. 2) сигналами ai, bj, уm, сn. Она возбуждается сигналами y0, yD, обеспечивающими подачу операндов A, B на входы A, B схемы UKS, сигналом ym € Y1, по которому выполняется АЛО МО, сигналом yk € Y2, обеспечивающим МО сдвига, и сигналом yW =1, по которому результат МО записывается в регистр А2. При yW =0 результат МО (второго типа) не записывается в регистр (NOP). Таким образом, запись результата в регистр осуществляется в каждом такте работы ОА, за исключением тех тактов, в которых, например, выполняются микрокоманды перехода. Регистр RF выполнен на основе двойных триггеров типа MS. Запись признаков результатов S, Z, OVR, C в регистр флагов RF осуществляется (как в РОН) по сигналу yW (за исключением пустых тактов – NOP в ОА, когда yW=0). Отметим, что запись флагов Z, OVR осуществляется только при выполнении арифметических МО. Запись флага S осуществляется при выполнении арифметических и логических МО, а запись флага С – при выполнении арифметических МО и соответствующих МО сдвига.

Р и с. 12. Схема лабораторного макета ОА АЛУ

Регистр RF выполнен на основе двойных триггеров типа MS. Запись признаков результатов S, Z, OVR, C в регистр флагов RF выполняется (как в РОН) по сигналу yW (за исключением пустых тактов). Следует отметить, что запись флагов Z, OVR осуществляется только при выполнении арифметических МО. Запись флага S осуществляется при выполнении арифметических и логических МО, а запись флага С – при выполнении арифметических МО и соответствующих МО сдвига.

По завершении операции fg € F в АЛУ ее результат выдается на выходную шину R под управлением сигнала yOUT: R:=B (B - выход схемы SH). Итак, для настройки ОА (рис. 12) на нужные действия на его управляющие входы необходимо подавать сигналы из УА АЛУ. Полный набор сигналов (формат микрокоманды для ОА) представлен на рис. 13.

Cin

y0

yD

1     ALO       3

1   SH   3

yW

yOUT

1   A1   k

1    A  2 k

Рис13. Формат микрокоманды ОА АЛУ

Поля (биты)  y0 , yD обеспечивают подачу операндов на входы A, B UKS в четырех комбинациях (табл. 1).

      Таблица 1 - Источники операндов

y0 yD A B
0 0 OUT А 0
0 1 D 0
1 0 OUT А OUT B
1 1 D OUT B

Поле ALO задает АЛО МО ymY1, список которых приведен в табл. 2. Поле SH задает МО сдвига ykY2, список которых приведен в табл. 3. В поле Cin размещается значение бита переноса (на входе Cin сумматора), которое используется при выполнении операций сложения и вычитания.

     Таблица 2 - АЛО микрооперации

Код ALO

Микрооперация

000

F=A+B+Cin

001

F=A-B-1+Cin

010

F=B-A-1+Cin

011

F=AÚB

100

F=A&B

101

F=¬A+B

110

F=AÅB

111

F=A+¬B

Таблица 3 - МО сдвига

Код SH

Микрооперация

000

С.B=C.A (NOP)

001

B.C=R1(0.A)

010

B.C=R1(A(1).A)

011

C.B=L1(A.0)

100

C.B=L1(A.C)

101

B.C=R1(A.C)

110

C.B=L1(A.A(1))

В поле yW помещается 1, если результат нужно записать в РОН по адресу А2, указанному в поле А2. Поля A1, А2 используются для указания местоположения операндов, извлекаемых из памяти ОА. Поле А2, кроме того, используется и для записи результата (формат МК – двухадресный). Разрядность k полей A1, А2 зависит от количества K регистров в памяти ОА, остальные поля (слева от A, B) имеют фиксированную длину.

Поля (биты) yW ,yOUT обеспечивают выдачу результатов (с выхода схемы SH) на выход R в четырех комбинациях (табл. 4).

Таблица 4 - Приёмники результатов

yW

yOUT

Микрооперация

0

0

NOP

0

1

R=B

1

0

[A2]=B

1

1

[A2]=B, R=B

Максимальная производительность ОА – две МО (АЛО и сдвига) за 1 такт, продолжительность такта ОА: TОАВОUKSSHРОН, (4) где τВО= τОUTMS – время выборки (чтения) операндов из РОН и подачи их на входы UKS; τUKS – максимальная задержка в схеме UKS; τSH – максимальная задержка в схеме SH; τРОН – время записи результата в РОН.

1.2 Задание на самостоятельную работу

1. Изучить схему и операционные возможности ОА АЛУ.

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

Таблица 5 - Микропрограммы для вариантов задания

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

Задание

Источники операндов

Знаки и разрядность операндов

Особенности

результата

N1

N2

n

1

2

3

4

5

6

7

1

R=N1-2N2

OUT A, OUT В

-

+

4

Переполнение

2

R=2N1+N2

OUT В, D

+

+

8

Переполнение

3

R=2N1-N2/2

OUT A, OUT В

+

+

12

Больше 0

4

R=2N1+N2/2

OUT В, D

-

+

16

Меньше 0

5

R=4N1-N2

OUT A, OUT В

+

+

4

Равен 0

6

R=N1-N2/2

OUT A, OUT В

+

-

8

Больше 0

7

R=N1/2-N2/4

OUT В, D

-

-

12

Меньше 0

8

R=2N1-N2/4

OUT В, D

+

-

16

Больше 0

9

R=2N1-4N2

OUT А, OUT В

-

+

4

Переполнение

10

R=2N1ÅN2/2

OUT A, OUT В

 

 

8

R=11111111

11

R=4N1&N2

OUT В, D

 

 

12

Не равен 0

12

R=N1/2v4N2

OUT В, D

 

 

16

Не равен 0

13

R=3N1-N2/2

OUT A, OUT В

-

+

4

Переполнение

14

R=(5N1)&N2

OUT A, OUT В

 

 

8

Не равен 0

15

R=2N1-N2/2

OUT В, D

+

-

12

Переполнение

16

R=2N1ÅN2/4

OUT В, D

 

 

16

Равен 0

17

R=3N1+N2/2

OUT В, D

-

+

4

Меньше 0

18

R=5N1-N2

OUT A, D

-

-

8

Больше 0

19

R=3N1-5N2

OUT A, OUT В

+

+

12

Больше 0

20

R=2N1-3N2

OUT A, OUT В

-

+

16

Переполнение

21

R=N1/2-3N2

OUT В, D

+

+

4

Равен 0

22

R=8N1`ÅN2

OUT В, D

 

 

8

R=11111111

23

R=2N1+3N2

OUT A, OUT В

-

-

12

Переполнение

24

R=5N2-N1/2

OUT A, OUT В

+

-

16

Переполнение

3. Определить задержки сигналов от входов до выходов ОА и продолжи-тельность такта Т (по максимальной задержке).

4. Написать отчет, который должен содержать задание, микропрограмму, временную диаграмму и трассу выполнения микропрограммы. Проект по лабораторной работе №1 находится в папке «Лаб работы `Ор-ганизация АЛУ` - Примеры выполнения программ для лаб рабо-ты\2011\oa_full.dir». В нем для компиляции рекомедуется использовать файл ..\oa_full.gdf. Перед компиляцией рекомендуется выбрать опцию Assign | Device | FLEX10KA. Микропрограмму рекомендуется задавать в «полуавтоматическом режиме» в редакторе волновых фронтов, выбрав предварительно файл ..\oa_full.scf.

1.3 Содержание отчета

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

1.4 Контрольные вопросы

1. Какой принцип лежит в основе построения операционных устройств (в частности, АЛУ)? Поясните основные положения этого принципа и организацию ОУ.
2. Назначение и основные характеристики АЛУ.
3. Организация работы ОУ во времени. Поясните понятия: такт работы, синхронная работа с постоянной длительностью такта.
4. От чего зависит и как определяется продолжительность такта?
5. Назначение и основные характеристики ОА.
6. Поясните понятия МО и ЛУ. Описание и реализация МО и ЛУ.
7. Функция и структура операционного автомата. Способы построения ОА.
8. Краткая характеристика I-автоматов, M-автоматов, IM-автоматов.
9. Поясните организацию и порядок работы лабораторного макета ОА АЛУ.
10. Поясните организацию блока РОН ОА АЛУ. Почему у него два информационных выхода, а вход – один?
11. Какие сигналы (входы) предназначены для управления работой блока РОН?
12. Объясните смысл и назначение сигналов S, Z, OVR, C схемы ОА.
13. Какие сигналы (входы) предназначены для настройки комбинационной части ОА на выполнение требуемых действий?
14. Какие сигналы (входы) предназначены для настройки ОА АЛУ на выполнение требуемых действий?
15. Поясните формат и назначение полей микрокоманды, предназначенной для управления ОА АЛУ.
16. Как оценить продолжительность такта Т ОА АЛУ?
17. Поясните порядок выполнения работы на примере первого варианта задания.