
- •Пз№1. Выполнение арифметических операций над числами в эвм Цель занятия:
- •1.1.Теоретические сведения
- •Частные правила перевода
- •Арифметические действия над числами
- •1.2. Машинные коды чисел.
- •1.3. Операции над машинными кодами чисел
- •Задания для работы на занятии:
- •Контрольные вопросы:
- •Задание на самоподготовку:
- •Литература:
- •Пз №2. Минимизация логическиз функций
- •Теоретические сведения
- •2.1. Минимизация функций алгебры логики
- •Расчетный метод
- •Табличный метод
- •Задание для работы на занятии
- •Краткие теоретические сведения.
- •3.1.1. Основные понятия алгебры логики. Логические функции, способы их представления.
- •3.1.2. Законы алгебры логики, следствия из них.
- •3.1.3. Логические элементы.
- •3.2.Синтез и анализ логических схем без памяти
- •3.2.1. Синтез логических схем без памяти
- •3.2.2. Анализ логических схем без памяти
- •Выводы:
- •Литература:
- •Пз №4. Оценка способов внутримашинного представления информации
- •4.1. Краткие теоретические сведения о способах представления информации в эвм
- •4.2. Отображение чисел в разрядной сетке эвм.
- •4.2.1. Представление цифровой информации
- •4.2.2. Представление других видов информации
- •Методические рекомендации курсантам по подготовке к занятию
- •4.4. Задания для работы на занятии:
- •Краткие теоретические сведения о зу
- •Разрядная функциональная группа
- •Озу типа 2d
- •Задание для работы на занятии
- •Варианты задач
- •Задание на самоподготовку
- •Контрольные вопросы
- •Литература
- •Пз №6. Составление алгоритмов и микропрограмм работы алу Цель занятия
- •Методические указания
- •6.1.Краткие теоретические сведения
- •Запросы прерывания
- •6.2. Структура арифметико – логического устройства
- •6.3. Алгоритм работы алу при сложении n двоичных чисел с фиксированной запятой в дополнительном коде
- •6.4. Алгоритм работы алу при умножении чисел с фиксированной запятой
- •Вопросы для самоконтроля
- •Пз №7. Составление алгоритмов и микропрограмм работы уу Цель занятия:
- •Методические указания:
- •7.1 Краткие теоретические сведения об уу цвм
- •7.2. Алгоритм работы микропрограммного уу при выполнении операций сложения и умножения.
- •Методические рекомендации:
- •7.4.Задание для работы на занятии
- •7.5.Задание для работы на самоподготовке:
- •Вопросы для самоконтроля
- •Литература:
- •Пз №8. Разработка модулей памяти на бис
- •8.1. Краткие теоретические сведения о структуре памяти эвм
- •8.2. Разработка модулей памяти на бис зу
- •Задание для работы на занятии
- •Задание на самоподготовку:
- •Контрольные вопросы
- •Приложение 8.1
- •9.1. Проверка степени усвоения лекционного материала (устно) и уровня подготовленности курсантов к занятию (летучка).
- •Вопросы для проведения письменного контроля:
- •9.2. Овладение приемами выбора способов микропрограммирования секционного мп .
- •9.3. Приобретение навыков решения задач, связанных с составлением отдельных микрокоманд (микроинструкций) для мпк к589.
- •9.4. Приобретение навыков решения задач, связанных с разработкой алгоритмов и микропрограмм для мпк к589.
- •Проверка степени усвоения материала практического занятия (выполнение курсантами заданий по вариантам).
- •Литература:
- •Система микроопераций микропроцессора к589
- •Пз №10 решение задач разработки аппаратных средств свк. Цель занятия.
- •2. Методические указания.
- •3.Задание для работы на занятии.
- •3.1. Задача №1
- •Краткий теоретический материал
- •Временные характеристики смпк
- •4. Сравнительная оценка характеристик об и окончательный выбор типа смпк и структуры об смп.
- •Пример решения задач 1…5
- •Заданные характеристики об
- •3.2. Задача №2
- •Краткий теоретический материал
- •Разработка структурной, функциональной и принципиальной схем об смп.
- •Контрольные вопросы.
- •Практическое занятие №11
- •Цель занятия
- •Методические указания.
- •11.1 Краткие теоретические сведения Режимы работы вс
- •Действия оператора Ввод Вывод
- •11.2. Алгоритм планирования вычислительного процесса вс. Работающей в режиме однопрограммной пакетной обработки
- •11.3. Алгоритм планирования вычислительного процесса вс, работающей в режиме классического мультипрограммирования
- •11.4. Задание для работы на занятии
- •11.5. Вопросы для самоконтроля
- •Задание для самостоятельной работы
- •Решить задачу планирования вычислительного процесса в режиме пакетной однопрограммной обработки для пакета не менее чем из десяти задач. Исходные числа задать самостоятельно.
- •Пз №12. Решение задач по определению параметров вк Цель занятия:
- •Методические указания:
- •12.1 Краткие теоретические сведения
- •12.1.1 Расчет основных параметров алу.
- •12.1.2 Определение требуемого быстродействия алу.
- •12.1.2.1. Определение разрядности алу с фиксированной запятой.
- •12.2 Пример определения основных параметров вк
- •Регистр команд
- •Регистр базы
- •12.3 Задание для работы на занятии.
- •12.4 Контрольные вопросы
1.3. Операции над машинными кодами чисел
Все современные ЭВМ имеют достаточно развитую систему команд, включающую десятки и сотни машинных операций. Однако выполнение любой операции основано на использовании простейших микроопераций типа сложения и сдвиг. Это позволяет иметь единое арифметико-логическое устройство для выполнения любых операций, связанных с обработкой информации. Правила сложения двоичных цифр двух чисел А и В представлены в табл. 1.4.
Здесь показаны правила сложения двоичных цифр ai, bi одноименных разрядов с учетом возможных переносов из предыдущего разряда pi-1.
Подобные таблицы можно было бы построить для любой другой арифметической и логической операции (вычитание, умножение и т.д.), но именно данные этой таблицы положены в основу выполнения любой операции ЭВМ. Под знак чисел отводится специальный знаковый разряд. Знак «+» кодируется двоичным нулем, а знак «-» - единицей. Действия над прямыми кодами двоичных чисел при выполнении операций создают большие трудности, связанные с необходимостью учета значений знаковых разрядов:
Таблица 1.4
-
Значения разрядов
двоичных чисел
а и b
Разряд
суммы
Si
Перенос в следующий разряд
Рi
ai
bi
pi-1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
• во-первых, приходится отдельно обрабатывать значащие разряды чисел и разряды знака;
• во-вторых, значение разряда знака влияет на алгоритм выполнения операции (сложение может заменяться вычитанием и наоборот).
Во всех ЭВМ без исключения все операции выполняются над числами, представленными специальными машинными кодами. Их использование позволяет обрабатывать знаковые разряды чисел так же, как и значащие разряды, а также заменять операцию вычитания операцией сложения.
Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования чисел в обратный или дополнительный код. Пусть числа А≥0 и В≥0, тогда операция алгебраического сложения выполняется в соответствии с табл. 1.5.
Таблица 1.5
Таблица преобразования кодов при алгебраическом сложении
-
Требуемая операция
Необходимое
преобразование
А+В
А-В
-А+В
-А-В
А+В
А+(-В)
(-А)+В
(-А)+(-В)
Скобки в представленных выражениях указывают на замену операции вычитания операцией сложения с обратным или дополнительным кодом соответствующего числа. Сложение двоичных чисел осуществляется последовательно, поразрядно в соответствии с табл. 1.4. При выполнении сложения с использованием машинных кодов необходимо соблюдать следующие правила.
1. Слагаемые должны иметь одинаковое число разрядов. Для выравнивания разрядной сетки слагаемых можно дописывать нули слева к целой части числа и нули справа к дробной части числа.
2. Знаковые разряды чисел участвуют в сложении так же, как и значащие.
3. Необходимые преобразования кодов (п.1.2.) производятся с изменением знаков чисел. Приписанные незначащие нули изменяют свое значение при преобразованиях по общему правилу.
4. При образовании единицы переноса из старшего знакового разряда, в случае использования ОК, эта единица складывается с младшим числовым разрядом. При использовании ДК единица переноса отбрасывается. Знак результата формируется автоматически, результат представляется в том коде, в котором представлены исходные слагаемые.
Пример 1.17. Сложить два числа А10=7 В10=16
А2 = +111;
В2 = +10000.
Исходные числа имеют различную разрядность, необходимо провести выравнивание разрядной сетки:
[A2]пк = [A2]oк = [A2]дк = 0.00111;
[В2]пк = [В2]ок = [В2]дк = 0.10000.
Сложение в обратном или дополнительном коде дает один и тот же результат 0.00111
+
0.10000
С (2) = 0.10111
С(10) = +23.
Обратим внимание, что при сложении цифр отсутствуют переносы в знаковый разряд и из знакового разряда, что свидетельствует о получении правильного результата.
Пример 1.18. Сложить два числа А10 =+ 16 В= -7 в ОК и ДК.
В соответствии с табл. 1.5 должна быть реализована зависимость А+(-В), в которой второе слагаемое преобразуется с учетом знака
[A2]пк = 0.10000 = 0.10000 [А2]ок = 0.10000 [А2]дк = 0.10000;
[B2]пк = 1.00111 = 1.00111 [В2]ок = 1.11000 [В2]дк = 1.11001.
Сложение в OK Сложение в ДК
[А2]ок = 0.10000 [A2] = 0.10000
+[В2]ок = 1.11000 +[B2] = 1.11001
1 0.01000 10.01001
+ 1
0.01001
C2 = 0.01001 C2 = 0.01001
C10 = +9 C10 = +9
При сложении чисел в ОК и ДК были получены переносы в знаковый разряд и из знакового разряда. В случае ОК перенос из знакового разряда требует дополнительного прибавления единицы младшего разряда (см.п.4 правил). В случае ДК этот перенос игнорируется.
Пример 1.19. Сложить два числа А10 =- 16 В= +7 в ОК и ДК.
В соответствии с табл. 1.3 должна быть реализована зависимость
(-А)+В, в которой первое слагаемое преобразуется с учетом знака
[A2]пк = -10000 = 1.10000 [А2]ок = 1.01111 [А2]дк = 1.10000;
[B2]пк = + 00111= 0.00111 [В2]ок = 0.00111 [В2]дк = 0.00111.
Сложение в OK Сложение в ДК
[А2]ок = 1.01111 [A2] = 1.10000
+[В2]ок = 0.00111 +[B2] = 0.00111
1.10110 1.10111
При сложении чисел в ОК и ДК были получены отрицательные результаты («1» в знаковом разряде). Для перевода обратного кода отрицательного числа в прямой необходимо инвертировать значащие разряды, а знаковый разряд оставить без изменения. А для перевода дополнительного кода отрицательного числа в прямой код необходимо инвертировать значащие разряды и прибавить единицу младшего разряда.
т.о. имеем в ПК из ОК 1.01001, а в ПК из ДК 1.01000
+ 1
т.е. [С2]пк = 1.01001 [С2]пк = 1.01001
C10 = -9 C10 = -9
Умножение. Умножение двоичных чисел реализуется в прямом коде. Рассмотрим, каким образом оно приводится к операциям сложения и сдвигам.
Пример 1.20. Умножить два числа А10 = +7 В10 = -5.
Перемножим эти числа, представленные прямыми двоичными кодами, так же, как это делается в десятичной системе.
[A2]п = 0.111 - множимое (операнд 1 – ОП1);
[В2]п = 0.101 - множитель (операнд 2 – ОП2»);
000 - обнуление регистра частичных сумм (РЧС);
+ 111 – мл. разряд ОП2 равен «1», поэтому к РЧС +ОП1;
1 такт = 111 – результирующее значение РЧС;
0111 – сдвиг РЧС вправо на один разряд;
2 такт = 00111 –очередной р-д ОП2=«0», поэтому только сдвиг
+ 111 - оч. разряд ОП2 равен «1», поэтому к РЧС +ОП1
3 такт = 100011 - результирующее значение РЧС;
100011 - сдвиг РЧС вправо на один разряд.
Знак произведения определяется путем сложения по «модулю 2» знаков сомножителей ( 0 0 = 0)
[С2]пк = 0.100011. Таким образом, С10 = + 35.
Нетрудно видеть, что произведение получается путем сложения частных произведений, представляющих собой разряды множимого, сдвинутые влево в соответствии с позициями разрядов множителя. Частные произведения, полученные умножением на нуль, игнорируются. Важной особенностью операции умножения n-разрядных сомножителей является увеличение разрядности произведения до п+п=2п. Знак произведения формируется путем сложения по модулю "2" знаковых разрядов сомножителей. Возможные переносы из знакового разряда игнорируются.
Деление. Операция деления, как и в десятичной арифметике, является обратной операции умножения. Эта операция также приводится к последовательности операций сложения и сдвига.
Отметим, что делимое перед операцией деления должно быть приведено к 2n-разрядной сетке. Только в этом случае при делении на n-разрядный делитель получается n-разрядное частное.
Знак частного формируется также путем сложения по «модулю 2» знаковых разрядов делимого и делителя, как это делалось при умножении.
Если в процессе вычислений значение результата превышает значение A , то может возникать переполнение разрядной сетки и получение неверного результата.
Признаками переполнения являются:
-
наличие переноса из значащих разрядов в знаковый и отсутствие переноса из знакового разряда («положительное» переполнение);
-
наличие переноса из знакового разряда и отсутствие переноса из значащих в знаковый разряд («отрицательное» переполнение).
Пример 1.21. Сложить 2 числа: А=+5 и В=+6 в четырехразрядной сетке (с учетом знакового разряда).
Сложение в OK Сложение в ДК
[А2]ок = 0.101 [A2] = 0.101
+[В2]ок = 0.110 +[B2] = 0.110
1.011 1.011
C2 = 1.100 C2 = 0.101
C10 = -4 ???(вместо +11)! C10 = -5 ??? (вместо +11)!
Пример 1.22.
Сложить 2 числа: А=-5 и В=-6 в четырехразрядной сетке (с учетом знакового разряда).
Сложение в OK Сложение в ДК
[А2]ок = 1.010 [A2] = 1.011
+[В2]ок = 1.011 +[B2] = 1.100
10.101 10.111
1
0.110
C2 = 0.110 С2 = 0.111
C10 = +6 ??? (вместо -11)! C10 = +7 ??? (вместо -11)!
Как видно из примеров, при сложении положительных чисел получается отрицательный результат и наоборот. Это объясняется тем, что в трех значащих разрядах максимальное число по модулю может быть семь, а в примерах необходимо записать соответственно С=+11 и С=-11.