Метод минимизации ФАЛ по Квайну 2 страница

Принятые обозначения:

tОЗУ – время считывания информации из ОЗУ; tРП – время считывания информации из РП; tРК – время считывания информации из регистра команд; t – время суммирования составных частей адреса; VОЗУ – объем ОЗУ; VРП – объем РП; VСЕГМ – объем сегмента; Lоперанда – длина операнда.

Примечания:

1. используется, в основном, для адресации внешних устройств;

2. используется крайне редко;

3. зависит от длины операнда;

4. зависит от размера сегмента;

5. зависит от особенностей программы.

12 Лекция: Цикл выполнения команды

Рассматривается взаимодействие узлов и устройств классической трехадресной ЭВМ на различных этапах автоматического выполнения программ.
Для улучшения понимания вопросов взаимодействия узлов и устройств ЭВМ рассмотрим автоматическое выполнение команды в трехадресной ЭВМ с классической архитектурой. Структурная схема такой ЭВМ показана на рис. 12.1 Рис. 12.1. Структурная схема трехадресной ЭВМ Обработку команды можно разбить на ряд функционально завершенных действий (этапов), составляющих ее цикл (рис. 12.2). Рис. 12.2. Цикл выполнения команды Изучение цикла команды проведем при следующих начальных условиях и предположениях:
  • программа и операнды находятся в оперативном запоминающем устройстве (ОЗУ);
  • адрес ячейки ОЗУ, в которой находится выполняемая команда (k), зафиксирован на счетчике команд (СК);
  • команда считывается за одно обращение к ОЗУ;
  • команда, операнды и приемник результата используют прямую адресацию памяти.
Определим взаимодействие узлов и устройств ЭВМ на каждом этапе. Первый этап – выборка исполняемой команды из ОЗУ. Для реализации этого этапа необходимо код со счетчика команд (СК) = k передать в ОЗУ, обратиться в ячейку ОЗУ с адресом k и содержимое этой ячейки, являющееся кодом этой команды, передать на регистр команд. Соответствующие передачи отмечены на рис. 12.1 цифрой 1: передача кода СК на РА (регистр адреса) ОЗУ, дешифрация адреса на дешифраторе адреса (ДшА), считывание команды из ячейки (k) ОЗУ и передача ее в РК. Регистр адреса служит для хранения адреса, по которому происходит обращение к ОЗУ, на время этого обращения. Дешифратор преобразует поступающий на него адрес в унитарный код, который непосредственно воспринимается физическими элементами схем памяти. На его выходах всегда имеется одна и только одна возбужденная шина, соответствующая адресу выбираемой ячейки. Регистр команд предназначен для хранения в процессоре считанной из ОЗУ команды на время ее выполнения. На этом этапе после приема команды на РК дешифратор кода операции (ДшКОп) по операционной части выполняемой команды определяет тип команды. Сигнал с ДшКОп таким образом настраивает блок управления операциями (БУОп), что на его выходах формируются управляющие сигналы (УСi), которые необходимы для автоматического выполнения всего цикла команды вплоть до занесения в РК новой команды. Формирование УСi проходит на основе сигналов с датчика сигналов (ДС), который вырабатывает импульсы, равномерно распределенные по своим выходам. Регистр команд, дешифратор кода операции, блок управления операциями, датчик сигналов, счетчик команд составляют устройство управления. Если данная команда не является командой перехода, то реализуется следующая последовательность этапов как продолжение первого. Второй этап – выборка первого операнда (a). Необходимо код из поля адреса первого операнда – a из РК передать в ОЗУ, обратиться к ячейке с адресом a в оперативной памяти и код этой ячейки передать в АЛУ. Соответствующие передачи обозначены на рис. 12.1 цифрой 2. Третий этап – выборка второго операнда (b). Производится по аналогии со вторым этапом. Соответствующие передачи на рис. 12.1 отмечены цифрой 3. Четвертый этап – выполнение операции в соответствии с полем кода операции команды. Еще в конце первого этапа коммутатор операций определил тип выполняемой команды. Операнды переданы в АЛУ на втором и третьем этапах. Блок управления операциями формирует управляющие сигналы, необходимые для выполнения данной операции в АЛУ. Результат выполненной в АЛУ операции сохраняется в его внутреннем регистре результата (РР), а признаки результата – в регистре признаков АЛУ. Соответствующие передачи и взаимодействия блоков обозначены на рис. 12.1 цифрой 4. Пятый этап – обращение к ОЗУ и запись по адресу c результата операции. Здесь код поля c регистра команд передается в ОЗУ на РА. Затем в ячейку ОЗУ с адресом c записывается результат операции, находящийся в регистре результата АЛУ. Признаки результата записываются из регистра признаков АЛУ в регистр флагов компьютера, из которого они передаются в БУОп, если очередная считанная в РК команда окажется командой условного перехода. Соответствующие передачи обозначены на рис. 12.1 цифрой 5. Шестой этап – формирование адреса ячейки ОЗУ, где находится следующая команда программы, то есть замена старого кода в счетчике команд на новый. Так как в ЭВМ предполагается естественный порядок выполнения программы, то следующая команда находится в ячейках ОЗУ, располагающихся сразу же вслед за ячейками, занятыми выполненной командой. Считая, что выполненная команда занимает в памяти ячеек, получим, что суть этого этапа заключается в следующем изменении счетчика команд: СК = СК + . На этом заканчивается цикл выполнения команды: в СК сформирован адрес следующей команды k +. Выполнение этого этапа может совмещаться с выполнением предшествующих этапов, что и реализовано в большинстве ЭВМ. Приведенная последовательность этапов повторяется и в дальнейшем для каждой из последующих команд программы, что обеспечивает автоматическое выполнение программы. При выполнении команды перехода вышеизложенная последовательность этапов меняется. Допустим, в конце выполнения первого этапа дешифратор кода операции зафиксировал выполнение команды безусловного перехода. Эту ситуацию можно представить так: (k) = БП j, то есть код выполняемой команды выбран из ячейки с адресом k, это – команда безусловного перехода (БП), которая должна передать управление на выполнение команды, имеющей смещение j относительно текущей команды. В данном случае выполнение этапов со второго по четвертый блокируется, и выполнение команды безусловного перехода заключается в прибавлении значения j к счетчику команд. В команде условного перехода нарушение естественного порядка выполнения программы (то есть передача кода k + j в СК) происходит только при выполнении определенного условия. Это условие характеризует результат, полученный командой, предшествующей команде условного перехода. Таким условием может быть, например, отрицательный результат или результат, равный нулю.

13. Лекция: Основы схемотехнической реализации ЭВМ

Рассматриваются основные элементы, составляющие систему логических элементов, их схемотехническая реализация, статические и динамические параметры, порядок проектирования комбинационных схем на примере одноразрядного сумматора.
Системы логических элементов Системой логических элементов называется функционально полный набор логических элементов, объединенных общими электрическими, конструктивными и технологическими параметрами и использующих одинаковый тип межэлементных связей [1]. Системы элементов содержат элементы для выполнения логических операций, запоминающие элементы, элементы, реа-лизующие функции узлов ЭВМ, а также элементы для усиления, восстанов-ления и формирования сигналов стандартной формы. Условно-графические обозначения (УГО) некоторых логических элементов представлены на рис.13.1. Рис. 13.1. Условно-графические обозначения логических элементов УГО элемента представляет собой прямоугольник, к которому слева подходят входные сигналы, а справа выходят выходные. Внутри прямоугольника ставится условное обозначение выполняемой элементом логической функции. Если значение выходного сигнала принимает инверсное значение по отношению к обозначенной внутри элемента функции, то данный выход обозначается на УГО элемента кружком (рис.13.1,в – 13.1,д). Аналогично, если активным уровнем входного сигнала является логический "0", то данный вход обозначается кружком (вход E элемента 13.1,ж ). Если элемент выполняет сложную функцию, имеет несколько функционально различных групп входов и выходов, то входы и выходы отделяются от основного поля УГО вертикальными линиями. Внутри каждого из получившихся полей функционально различные группы входов и выходов отделяются друг от друга горизонтальными линиями. На рис.13.1,ж показан элемент, выход которого может находиться в одном из трех состояний: логический "0", логическая "1", состояние высокого сопротивления. В состоянии высокого сопротивления выход элемента отключается от входов всех других элементов, с которыми он связан. Вход E (enable) этого элемента управляет состоянием его выхода. Так как на условно-графическом обозначении этот вход отмечен кружком, то отсюда следует, что функция разрешения передачи двоичного сигнала с входа на выход элемента выполняется при состоянии логического "0" на входе разрешения E. Если на вход E подан сигнал логической "1", то выход элемента находится в отключенном (так называемом "третьем") состоянии. Каждый логический элемент – это электронно-техническое изделие (рис.13.2). В этих схемах все транзисторы работают в ключевом режиме. Это означает, что при подаче сигнала высокого уровня на базу транзистора, его сопротивление становится пренебрежимо малым, то есть транзистор как бы "стягивается в точку". При низком потенциале на базе транзистора сопротивление между коллектором и эмиттером становится чрезвычайно большим, что фактически означает разрыв цепи. Рис. 13.2. Схемотехническая реализация логических элементов Рассмотрим это на примере работы инвертора (рис.13.2,а). Если сигнал X имеет высокий потенциал, то ключ, реализованный на транзисторе, замкнут, и потенциал точки Y низкий. В противном случае связь между точкой Y и "землей" разорвана, и сигнал Y имеет высокий уровень, что и обеспечивает реализацию логической функции "отрицание". Для элемента "И-НЕ" сигнал в точке Y будет иметь низкий уровень (НУ) лишь тогда, когда оба сигнала X1 и X2 имеют высокий уровень (ВУ). Работа этого элемента описывается таблицей 13.1.
Таблица 13.1.
X1 X2 Y
НУ НУ ВУ
НУ ВУ ВУ
ВУ НУ ВУ
ВУ ВУ НУ

Если принять, как это делается в наиболее распространенных сериях логических элементов, высокий уровень сигнала за логическую "1", а низкий уровень - за логический "0", то получим таблицу истинности данного элемента (таблицей 13.2).

Таблица 13.2.
X1 X2 Y

Эта таблица соответствует логической функции "И-НЕ".

В то же время, принимая высокий уровень сигнала за логический "0", а низкий уровень – за логическую "1", получим следующую таблицу истинности (табл. 13.3).

Таблица 13.3.
X1 X2 Y

Эта таблица соответствует уже функции "ИЛИ-НЕ".

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

Для элемента "ИЛИ-НЕ" (см. рис.13.2) сигнал в точке Y будет иметь высокий уровень лишь тогда, когда оба сигнала X1 и X2 имеют низкий уровень. Работа этого элемента описывается табл. 13.4, а его таблица истинности при сделанных предположениях о кодировке сигнала – таблицей 13.5. Эта таблица соответствует логической функции "ИЛИ-НЕ".

Таблица 13.4.
X1 X2 Y
НУ НУ ВУ
НУ ВУ НУ
ВУ НУ НУ
ВУ ВУ НУ
Таблица 13.5.
X1 X2 Y
         

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

К статическим параметрам относятся токи, текущие по выводам схемы, и соответствующие напряжения. Отметим среди этих параметров следующие:

  • ток потребления;
  • напряжение источника питания;
  • пороговое напряжение низкого уровня (U0);
  • пороговое напряжение высокого уровня (U1);
  • потребляемая мощность;
  • нагрузочная способность;
  • помехоустойчивость.

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

  • время перехода при включении (t10) (задний фронт);
  • время перехода при выключении (t01) (передний фронт);
  • время задержки распространения при включении (tзд01);
  • время задержки распространения при выключении (tзд10);
  • среднее время задержки распространения (tзд ср) – интервал времени, равный полусумме времен задержки распространения сигнала при включении и при выключении; в дальнейшем это время будем называть временем задержки элемента (tзд ).

Проиллюстрируем некоторые статические и динамические параметры логических схем на примере работы элемента "НЕ" (см. рис. 13.2,а). Временная диаграмма входного и выходного сигналов этого элемента, на которой отмечены его статические и динамические параметры, приведена на рис. 13.3.


Рис. 13.3. Статические и динамические параметры элемента "НЕ"

14. Лекция: Основы схемотехнической реализации ЭВМ

Порядок проектирования комбинационных схем При проектировании схем, выполняющих ту или иную логическую функцию, необходимо обеспечить минимизацию аппаратных затрат на реализацию этих схем, а также во многих случаях необходимо сократить номенклатуру используемых логических элементов. Последнее требование реализуется путем выбора соответствующей системы элементов. В настоящее время основные серии интегральных логических схем включают в себя элементы, составляющие некоторый функционально полный логический базис, а также дополнительные элементы, реализующие часто встречающиеся логические функции [1]. В качестве функционально полных базисов используются, как правило, одноэлементные базисы "И-НЕ" либо "ИЛИ-НЕ". Рассмотрим этапы проектирования комбинационных логических схем на одноэлементном базисе "И-НЕ" без использования каких-либо дополнительных логических элементов на примере проектирования одноразрядного комбинационного сумматора. Такой сумматор является основой построения многоразрядной суммирующей схемы, выполняющей операции над числами, представленными в том или ином коде. Пример выполнения операции суммирования чисел, представленных в обратном коде: Xок=0.1011 Yок=1.0110 +0.1011 1.0110 +1.0.0001 _______1 0.0010 Из примера видно, что в каждом разряде происходит суммирование соответствующих разрядов операндов и переноса, поступающего из предыдущего разряда (для младшего разряда – циклический перенос из знакового разряда). При этом вырабатывается значение суммы в этом разряде и перенос в следующий разряд. Условно-графическое обозначение элемента, выполняющего эти действия, приведено на рис. 13.4. Рис. 13.4. Условно-графическое обозначение одноразрядого сумматора Рассмотрим основные этапы проектирования такой схемы. Этап 1. Представление функции, выполняемой проектируемой схемой, в каноническом виде, то есть в виде таблицы истинности или одной из совершенных нормальных форм записи. Обычно на этом этапе функцию легче описать таблицей истинности. Так как проектируется двухвыходная логическая схема, то необходимо представить таблицу истинности для каждого ее выхода (табл. 13.6).
Таблица 13.6.
Входы Выходы
Xi Yi Pi Si Pi+1

Этап 2. Минимизация логической функции. На этом этапе можно использовать любые методы минимизации [5]. Специфика минимизации многовыходных функций – необходимость получения устройства, имеющего минимальный общий состав оборудования, то есть следует проводить минимизацию одной функции с учетом возможного использования части полученного оборудования для минимизации другой функции. В нашем примере не будем рассматривать эту особенность и проведем автономную минимизацию каждой функции. Минимизацию логических функций можно проводить различными методами: методом Квайна, его модификацией – методом Квайна – Мак-Класки, методом диаграмм Вейча. Метод диаграмм Вейча удобно использовать для минимизации функций от небольшого (до четырех) числа переменных. Диаграмма Вейча для функции Si представлена в табл. 13.7.

Таблица 13.7. Диаграмма Вейча для функции суммы одноразрядного сумматора
  yi yi
xi
xi
  pi pi pi

Из диаграммы видно, что минимальная дизъюнктивная нормальная форма для функции суммы одноразрядного сумматора совпадает с ее совершенной дизъюнктивной нормальной формой:

Si= xiyi pi xi yipi xiyipi xiyipi

Диаграмма Вейча для функции Pi+1 представлена в табл. 13.8.

Таблица 13.8. Диаграмма Вейча для функции переноса одноразрядного сумматора
  yi yi
xi
xi
  pi pi pi

Минимальная дизъюнктивная нормальная форма для этой функции имеет вид:

Рi+1= xiyi xipi yipi

Этап 3. Перевод функции в базис, в котором будет строиться схема. В выбранном варианте это базис "Штрих Шеффера":


Рис. .

Этап 4. Составление схемы на элементах, реализующих функции выбранного базиса. Для более наглядного отображения этого этапа выше обозначены номера элементов, которые будут реализовывать ту или иную часть функции. Полученные схемы представлены на рис.13.5 и 13.6.


Рис. 13.5. Схема, реализующая функцию суммы одноразрядного сумматора


Рис. 13.6. Схема, реализующая функцию переноса одноразрядного сумматора

14.Лекция: Архитектура персонального компьютера