Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OKT.doc
Скачиваний:
8
Добавлен:
16.04.2019
Размер:
5 Mб
Скачать

Раздел 1.

Тип 1.1.

Переход из одной системы счисления в другую.

Задача 1.

Перевести в десятичную систему двоичное число А = 110011001.

Решение

а) перевод методом с использованием весов разрядов:

А = 1100110012= 256 + 128 +16 + 8 + 1 = 40910

в) перевод методом деления:

11001 1001 

частное

последнее частное

остаток 2

остаток 1

Ответ: А = 1100110012= 40910

Задача 2.

Перевести в десятичную систему двоичное число В = 0.1101.

Решение

а) перевод методом с использованием весов разрядов:

А = 0.11002 = 0.50+0.25 +0.06=0.81 и после округления имеем:

А = 0.11002 =0.810.

в) перевод методом умножения:

0. 1101

* 1010 новое основание

1.1010

+110.1000

1000.0010 Первая смешанная дробь

* 1010

0.0100

+001.0000

00 1.0100 Вторая смешанная дробь

Таким образом, имеем:

А = 0.11002 = 0.81 и после округления имеем:

А = 0.11002 =0.810.

Задача 3.

Перевести в шестнадцатиричную систему двоичное число

В = 11110000110.01101.

Решение

Перевод можно выполнить с использованием особого отношения заданной и искомой систем счисления:

В = 11110000110.011012.= 0111.1000.0110.0110.10002= 7 8 6. 6 816.

Задача 4.

Перевести в двоичную систему восьмиричное число В = 174.10618.

Решение

Перевод можно выполнить с использованием особого отношения заданной и искомой систем счисления:

В = 174.10618.= 001. 111.100.001.000.110.0012.

Задача 5.

Перевести в двоичную систему число В = 1467.

Решение

Перевод можно выполнить с использованием метода деления(умножения), при этом учитываем, что соседние разряды связывает соотношение q = 7:

146 2 56  2 26 2135 

-13  56 - 4  26 -2  13 -13  5 -4 2-21 -посл.частное

16 -остаток4 1-ост.5 0 --ост6

-15 -15 -6

1 -остаток1 1 -остаток2 0-остаток3

Ответ: 1467.= 10100112

Другие задачи этого типа и их решение можно найти с подробными пояснениями в разделах 1.2.1 - 1.2.3.

Тип 1.2.

Задачи сложения и вычитания положительных двоичных чисел. Решение задач данного типа рассмотрено в примерах раздела 1.3.1, 1.3.2

Тип 1.3.

Умножение двоичных чисел

Задача 1.

Найти произведение 0.1011 и 0.1101, используя метод умножения «начиная со старших разрядов множителя со сдвигом промежуточного результата» 0.10001111

Решение

0.1011

*0.1101

0000

+1011

1011

1011

+1011

100001

100001

+0000

1000010

1000010

+ 1011

10001111

Умножение двоичных чисел методами:

  • начиная со старшего разряда со сдвигом множимого;

  • начиная со младшего разряда со сдвигом множимого;

  • начиная со старшего разряда со сдвигом множимого;

  • начиная со старшего разряда со сдвигом промежуточного

произведения

рассмотрено в примерах 1- 3 в разделе 1.3.3.

Тип 1.4.

Деление положительных двоичных чисел.

Задача 1.

Найти С = А/В, если А = 1000110110, В = 11011.

Решение

1000110110 









Ответ: С = 10100 (остаток 

Смотри также пример из раздела 1.3.4.

Тип 1.5.

Выполнение операции с двоичными числами при использовании дополнительного и обратного кода.

Задача данного типа рассмотрена в примере раздела 1.4.4.

Тип 1.6.

Арифметические операции с двоичными числами при использовании обратного кода.

Задача данного типа рассмотрена в примере раздела 1.4.3.

Тип 1.7.

Арифметические операции с двоичными числами при использовании модифицированного обратного(дополнительного) кода.

Задача данного типа рассмотрена в примере раздела 1.4.5.

Тип 1.8.

Арифметические операции с двоично-десятичными числами при использовании обратного кода.

Задача данного типа рассмотрена во втором примере раздела 1.4.6.

Тип 1.9.

Выполнение арифметических операции с двоично-десятичными числами при использовании дополнительного кода.

Задача 1

Найти двоично-десятичные значения C1, C2, C3, C4, определяемых выражениями:

С1= А+В, С2=А-В, С3= В-А, С4=-А-В,

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

А = 3 7 8 3, B = -5 49 2.

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

Решение

Прямой код заданных двоично-десятичный чисел имеет вид:

А]пк = 0. 0011 0111 1000 0011

[B] пк = 1. 0101 0100 1001 0010.

Расчет выражений для C1, C2, C3, C4 осуществляется следующим образом.[С1] пк :

* *

00. 0 0 1 1 0 1 1 1 1 0 0 0 0 0 1 1 [А]мок

+ 11. 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 [B] ик + 1 = [B]дк+6

11. 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 - сумма ([А]мок и [B] ик0), . сформированная по правилам . двоичного cуммирования

+ 0 1 1 0 0 1 1 0 - коррекция в тедрадах, где был

. перенос

11. 1 1 1 0 1 0 0 0 1 1 1 1 0 1 1 1

11. 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 - [С1]мпк

+1

11. 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 1

- 1 7 0 9 - С110 (десятичный эквивалент С1).

При выполнении первого суммирования по правилам двоичной арифметики возникающий перенос (в тетрадах, отмеченных знаком «*») унес лишнюю «6» (двоичный перенос унес из тетрады «16», а по правилам десятичного сложения он должен унести «10»), что означает, что избыточная «6», введенная за счет использования инверсного кода числа вместо обратного, исчезает в тех тетрадах, где был перенос, и сохраняется в тетрадах, где перенос отсутствовал. Коррекция на «+6» выполняется в тех тетрадах, где был перенос, чтобы ввести избыточную шестерку во все тетрады.

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

[С4] пк :

* *

11. 1 1 0 0 1 0 0 0 0 1 1 1 1 1 0 1 [-А] ик +1 = [-А]дк+6

+ 00 . 01 0 1 01 0 0 1 0 0 1 0 0 1 0 [-B] мок

. 1 00. 0 0 0 1 1 1 01 0 000 1 1 1 1

0 0. 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 перенос из знакового поля игнорируется

+ 1 0 1 0 1 0 1 0 - коррекция в тетрадах, где не было . переноса, с блокировкой переноса из тетрады

00. 0 0 01 0 1 1 1 0 0 0 0 1 0 0 1 [С4]опк=[С4]мпк

+ 1 7 0 9 - С410 (десятичный эквивалент).

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

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

Тип 1.10.

Деление без восстановления остатка чисел в форме с фиксированной запятой.

Решение задачи данного типа отличается от задач типа приведено в разделе 1.5.2.

Тип 1.11.

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

Решение задачи данного типа отличается от задач типа приведено в разделе 1.5.2.

Тип 1.12.

Умножение чисел в форме с фиксированной запятой.

Решение задачи данного типа отличается от задач типа приведено в разделе 1.5.1, 1.3.3.

Тип 1.13.

Сложение чисел с плавающей точкой.

Решение задачи данного типа отличается от задач типа приведено в разделе 1.6.1.1.

Тип 1.14.

Умножение чисел с плавающей точкой.

Решение задачи данного типа отличается от задач типа приведено в разделе 1.6.1.2

Тип 1.15.

Деление чисел с плавающей точкой.

Решение задачи данного типа отличается от задач типа приведено в разделе 1.6.1.3.

Тип 1.16.

Логические операции с двоичными кодами.

Решение задачи данного типа приведено в разделе 1.4.7.

Тип 2.1.

Переход из СДНФ представления логической функции к её СКНФ и наоборот.

Задача

По заданной СКНФ функции

y = (х1 +

_

х23 )*

_

12 +

_

х3)

найти запись этой функции в СДНФ.

Решение

Так как каждая скобка в СКНФ представляет собой отрицание одной из конституент нуля заданной функции, то из приведенной исходной записи функции видно, что её конституентами нуля являются наборы:

_ _

х1 х2 х3,

_

х1 х2 х3,

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

_ _ _

х1 х2х3

_ _

х1 х2 х3

_

х1 х2 х3

_ _

х1 х2 х3

_

х1 х2 х3

х1 х2 х3

Поэтому искомая запись функции будет иметь вид:

у =

_ _ _

х1 х2х3+

_ _

х1 х2 х3+

_

х1 х2 х3+

. _ _

х1 х2 х3+

. _

х1 х2 х3+

х1 х2 х3

Переход из СДНФ к СКНФ рассмотрен в примере раздела 2.2.2.

Тип 2.2.

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

Решение задачи данного типа приведено в разделе 2.2.3.

Тип 2.3.

Синтез логических схем по логическим выражениям в булевом И-НЕ.

Решение задачи данного типа приведено в разделе 2.2.4.

Тип 2.4.

Синтез логических схем по логическим выражениям в булевом ИЛИ-НЕ.

Решение задачи данного типа приведено в разделе 2.2.3.

Тип 2.5.

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

Решение задачи данного типа приведено в разделе 2.2.4.2.

Тип 2.6.

Минимизация логических выражений методом Квайна.

Решение задачи данного типа приведено в разделе 2.2.4.1.

Тип 3.1.

Программирование ПЛМ (программируемой логической матрицы).

Решение задачи данного типа приведено в разделе 3.2.1.

Тип 3.2.

Переход от автомата Мили к автомату Мура.

Решение задачи данного типа приведено в разделе 3.3.1.1

Тип 3.3.

Переход от автомата Мура к автомату Мили.

Решение задачи данного типа приведено в разделе 3.3.1.1

Тип 3.4.

Синтез автомата Мили.

Решение задачи данного типа приведено в разделе 3.3.2.

Тип 3.5.

Синтез автомата Мура.

Задача.

Синтезировать цифровой автомат, заданный в виде таблиц 1.

Память автомата построить на RS-триггере. При синтезе логических выражений использовать логический базис И, ИЛИ, НЕ.

Решение

Кодирование входных сигналов выполним через набор логических переменных «х». Множество входных сигналов включает три элемента. Поэтому для представления каждой из них достаточно использовать комбинации из двух переменных х1, х2. Кодировка входных переменных представлена таблицей 2.

Таблица1.

Кодирование состояний выполним через набор логических переменных «Q». Множество состояний включает четыре элемента. Поэтому для представления каждой из них достаточно использовать комбинации из двух переменных Q1, Q2. Кодировка состояний представлена в таблице 2. Кодировка входных переменных представлена в таблице 3.

Табл.3 Табл.2

x1

х2

z1

z2

z3

0

1

1

0

1

1

Для автомата Мура кодировка выходных сигналов не требуется, так как они однозначно связаны с состоянием, а следовательно и с кодами этих состояний.

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

Таблица 4

Q1Q2

Q1 Q2

Q1 Q2

Q1 Q2

x1 x2

11

11

00

x1 x2

11

10

01

x1 x2

10

01

01

11

Таблица 4

Q1Q2

Q1 Q2

Q1 Q2

Q1 Q2

x1 x2

11

11

00

x1 x2

11

10

01

x1 x2

10

01

01

11

В таблице 4 клетки заполнены двухразрядным кодом, первый разряд которого отображает значение переменной Q1, а вторая - переменную Q2(«1» - переменная имеет прямое значение, «0» - переменная имеет обратное значение).

Для управления памятью на RS- триггере, необходимо для первого и второго триггера, на которых строится память синтезируемого цифрового автомата, сформировать сигналы установки «1» (qS) и установки «0» (qR ).

Логические выражения для этих сигналов, составленные на основе таблицы 4, имеют вид:

qS1 =

_ _

Q1Q2 x1 x2 +

_ _

Q1Q2 x1 x2 +

_

Q1Q2 x1 x2 +

_ _

Q1Q2 x1 x2 .

qR1 =

. _

Q1Q2 x1 x2 +

. _

Q1Q2 x1 x2 +

Q1Q2 x1 x2 +

qS2 =

. _ _

Q1Q2 x1 x2 +

_

Q1Q2 x1 x2 +

_ _ _

Q1Q2 x1 x2 +

_ _

Q1Q2 x1 x2 .

QR2 =

_

Q1Q2 x1 x2 +

. _

Q1Q2 x1 x2 +

. _

Q1Q2 x1 x2

Приведенные выражения формируются следующим образом:

  • в дизъюнктивном выражении для qSi используются конъюнкции, определяющие клетки таблицы, соответствующие случаям, когда в исходном коде состояния i-ый разряд имел значение «0», а конечном - «1»;

  • в дизъюнктивном выражении для qRi используются конъюнкции, определяющие клетки таблицы, соответствующие случаям, когда в исходном коде состояния i-ый разряд имел значение «1», а конечном - «0».

Для более компактного представления полученных логических выражений и обозначений на формируемой схеме цифрового автомата, введем десятичную кодировку конъюнкций, используемых в полученных логических выражениях. Каждая конъюнкция представляет набор одних и тех же переменных Q1, Q2, x1, x2, поэтому представление конъюнкций можно рассматривать как четырехразрядный двоичный код и кодировать их десятичными эквивалентами этого двоичного кода. Таким образом, ранее полученные выражения можно представить в следующей компактной форме:

qS1 = 5+6+7+3; qR1 = 11+13+15.

qS2 = 9+11+2+3; qR2= 7 +13+14.

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

{2,3,5, 6,7,9,11,13,14,15}.

.Логические выражения для выходных сигналов, исходя из таблицы 3 и 4, имеют вид:

= Q1 Q2 ; =

. _

Q1Q2; =

. _

Q1Q2 +

_ _

Q1Q2

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

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

Рис.1

Память цифрового автомата реализована на двух RS-триггерах, формирующих парафазные

сигналы Q1 и Q2, используемые для кодировки состояний A1, A2, A3,A4 цифрового автомата. Кодер формирует парафазные сигналы х1, х2 для кодировки входных сигналов z1 , z2 , z3 цифрового автомата. Вертикальные линии обозначены логическими переменными, которые на них подаются. Выходы схем «И» помечены десятичными числами, соответствующими номерам конъюнкций, которые они формируют. Выходы логических схем «ИЛИ» помечены обозначениями логических функций, формируемым этими логическими схемами «ИЛИ». Выходные сигналы , , цифрового автомата формируются с помощью логических схем И и схем ИЛИ, расположенных в левом нижнем углу.

Тип 3.6.

Построение устройства управления с жесткой логикой на базе автомата Мура.

Решение задачи данного типа приведено в разделе 3.4.3.1.

Тип 3.7.

Построение устройства управления с жесткой логикой на базе автомата Мили.

Решение задачи данного типа приведено в разделе 3.4.3.1.

Тип 3.8.

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

Задача

Составить микропрограмму для реализации ГСА, приведенной на рис.0.1

9

Рис.2

Управления объект, характеризуется следующими параметрами:

  • множество проверяемых условий

  • X ={x1,x1, .. x25.};

  • множество выполняемых микроопераций

  • Y ={y1,y2, .. y120, yк} (yк- микрооперация , означающая последнюю микрокоманду микропрограммы);

  • ёмкость памяти для записи микропрограмм

  • Vзу= 2кбайт = 2*210 байт;

  • длина ячейки памяти

  • L = 16 бит;

  • начальный адрес размещения составляемой микропрограммы в памяти

  • Ан=530.

Решение

Исходя из характеристик управляемого объекта, следует:

  • длина поля для кодирования микроопераций равна к=7, так как количество выполняемых в объекте микроопераций равно 120

  • (120 < 27);

  • длина поля для кодирования условий равна р=5, так как количество проверяемых условий в управляемом объекте равно 25 (25 <25);

  • длина кода адреса равна р=10, так как количеству адресов в памяти, учитывая, что длина адресуемой ячейки равна 16 бит, т.е. двум байтам, равно (1024 =<210);.

Таким образом, формат микрокоманд для данного управляемого объекта имеет вид, приведенный на рисунке.

Рис. 1

Формат операционной микрокоманды (МКО) имеет длину 16 бит и включает:

  • поле типа микрокоманды (М), имеющее длину в один бит и занимающее 0-ой разряд микрокоманды; в этом поле для данного типа микрокоманды записано значение «1»;

  • поле первой микрооперации (Y1), которое занимает разряды с 1-го по 7;

  • поле второй микрооперации (Y2), которое занимает разряды с 8-го по 14;

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

Формат микрокоманды перехода (МКП) имеет длину 16 бит и включает:

  • поле типа микрокоманды (Т), имеющее длину в один бит и занимающее 0-ой разряд микрокоманды; в этом поле для данного типа микрокоманды записано значение «0»;

  • поле проверяемого условия (Х), которое занимает разряды с 1-го по 5;

  • поле адреса (А), которое занимает разряды с 6-го по 15.

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

адрес следующей микрокоманды Ас формируется как:

Ат + 1, если хi =1;

Ас =

А, если хi =0,

где Ат. - адрес текущей выполняемой команды.

А - адрес перехода, располагаемый в одноименном поле выполняемой микрокоманды перехода.

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

Микропрограмма, реализующая приведенную ГСА, имеет вид, приведенный в табл.1.

Таблица 1.

N

пп

N

вер.

Адрес расположения микрокоманды в ЗУ

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

Приме-

чание

1

1000010010 (Ан=530)

1. 0000001 . 0000000. 0

2

1000010011

0. 00001. 1000011100

3

8

1000010100

1. 0010101. 0001111. 0

8’

1000010101

1. 0010111. 0000000. 0

9

1000010110

0. 00111. 1000011000

10

-

1000010111

0. 00000 . 1000010100

8

10

1000011000

1. 0010001 . 0000000. 0

11

1000011001

0. 01111. 1000011000

10

12

1000011010

1. 0001010. 0000000. 0

7

1000011011

1. 0010100. 0000000. 1

3

1000011100

0. 00100. 1000011111

5

4

1000011101

1. 0110000. 0000101. 0

4’

1000011110

1. 1000010. 0000000. 0

5

1000011111

0. 01111. 1000100001

6

-

1000100000

0. 0000. 1000011111

5

6

1000100001

1. 0000101. 0000011. 0

-

1000100010

0. 0000. 1000011011

7

В приведенной таблице:

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

  • в первой графе (помечена «1») приводится номер вершины, реализуемой микрокомандой этой строки;

  • во второй графе указан адрес расположения данной микрокоманды в запоминающем устройстве;

  • в третьей графе располагается код микрокоманд;

  • в четвертой графе указаны номера вершин (вершина-ссылка), адреса которых указываются в соответствующей команде перехода.

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

Микрокоманда в второй строке реализует первую вершину ГСА и поэтому записывается по адресу в ЗУ, соответствующему начальному адресу Ан, равному заданному начальному адресу 530 (в графе «Адрес» в второй строке записан двоичный эквивалент десятичного числа 530). Данная микрокоманда реализует операторную вершину, поэтому в поле «Т» кода микрокоманды имеет место «1». В реализуемой вершине задается одна микрооперация у1, поэтому в поле Y1 записан двоичный семибитовый эквивалент её индекса «1», в поле Y2 записан двоичный эквивалент «0», а в поле ук записан «0», так как данная микропрограмма реализует не последнюю вершину ГСА.

Микрокоманда в третьей строки реализует вторую вершину ГСА. Она в любом случае выполняется вслед за микрокомандой, реализующей вершину номер 1, поэтому записывается по адресу в ЗУ, на единицу большему, чем адрес расположения в ЗУ микрокоманды, реализующей вершину номер 1. Данная микрокоманда реализует условную вершину 2 заданного графа, поэтому в поле «Т» данной микрокоманды имеется значение «0». В поле «Х» данной микрокоманды записан пяти битовый двоичный эквивалент индекса проверяемого в реализуемой вершине (условие х1). При использовании оговоренной выше дисциплине перехода в поле «А» микрокоманды должен быть установлен адрес расположения в памяти микрокоманды, реализующей вершину ГСА, расположенную по выходу «0» реализуемой условной вершины. Поэтому в графе примечания записан номер этой вершины «3», а в следующем адресе располагается микрокоманда, реализующая вершину, расположенную по выходу «1» данной реализуемой вершины «2». Поле адреса «А» в данной микрокоманде и во всех других микрокомандах перехода первоначально не заполняется. Они заполняется после того, как будут записаны в память все микрокоманды формируемой микропрограммы.

При реализации вершины «8» необходимо задать три микрооперации, что нельзя сделать с помощью одной микрокоманды используемого формата. Поэтому данная вершина реализуется с помощью двух микрокоманд (строки «4» и «5»). Аналогичный случай имеет место при реализации вершины «4» (строки «13» и «14»).

В строке «11» представлена микрокоманда, реализующая последнюю вершину ГСА (вершина 7), поэтому в ее коде в поле «уk» установлена единица. В следующем адресе ЗУ размещается микрокоманда, соответствующая вершине начала еще не реализованной ветви ГСА (в данном случае это вершина «3»).

После записи микрокоманды, реализующей вершину «6», необходимо расположить по следующему адресу в ЗУ микрокоманду, реализующую вершину «7». Однако вершина «7» уже представлена в микрокоманде (строка «10»). Поэтому в следующем адресе (строка «18») записывается команда безусловного перехода к микрокоманде, реализующей вершину «7». Команда безусловного перехода реализована на базе микрокоманды перехода при задании для проверки кода не существующего условия (в данном случае в качестве такого кода использован код «0000»).

Тип 3.9

Составление микропрограммы для устройства управления по заданной ГСА с использованием модификатора дисциплины перехода.

Задача данного типа рассмотрена в разделе 3.4.3.2.

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