
- •Организация вычислительных систем и сетей
- •Изучение программы PacketTracer . Изучение интерфейса командной строки Cisco ios.
- •2.4.2.Законыалгебры логики
- •Шаг 5. История введенных ранее команд
- •3.1 Цель работы:
- •3.2 Подготовка к работе
- •3.3 Рабочее задание
- •3.4 Выполнение работы:
- •3.5 Контрольные вопросы
Некоммерческое акционерное общество
АЛМАТИНСКИЙ ИНСТИТУТ ЭНЕРГЕТИКИ И СВЯЗИ
Кафедра компьютерных технологий
Организация вычислительных систем и сетей
Методические указания к выполнению лабораторных работ
для студентов всех форм обучения
специальности 5В070400– «Вычислительная техника и программное обеспечение»
Алматы -2012
СОСТАВИТЕЛИ: Т.Т. Коржымбаев, Г.С. Нурмагамбетов «Организация вычислительных систем и сетей»
Методические указания к выполнению лабораторных работ для студентов всех форм обучения специальности 5В070400 – «Вычислительная техника и программное обеспечение». – Алматы: АИЭС, 2012. – 65 с
Методические указания предназначены для выполнения в компьютерном классе лабораторных работ по дисциплине «Организация вычислительных систем и сетей». Для каждой лабораторной работы даны краткие методические указания и упражнения для индивидуального выполнения. Перед выполнением лабораторной работы студент должен ознакомиться с методическими указаниями, изучить материалы по соответствующей теме и ответить на контрольные вопросы. После завершения лабораторной работы студент обязан представить преподавателю отчет в электронном виде.
Методические указания предназначены для студентов специальности 5В070400 – «Вычислительная техника и программное обеспечение» всех форм обучения.
Библиография – 6 назв.
Рецензент: канд. техн. наук. доц. Б.М.Шайхин
Печатается по плану издания некоммерческого акционерного общества «Алматинский институт энергетики и связи» на 2012 г.
© НАО «Алматинский институт энергетики и связи» на 2012 г.
Содержание
1 Лабораторная работа № 1.
Разработка алгоритма и микропрограммы арифметической операции над
числами с фиксированной ,плавающей точкой и двоично-десятичными
кодами.
2 Лабораторная работа № 2.
Исследование логических основ цифровых автоматов.
3 Лабораторная работа № 3.
Программирование
разветвляющегося процесса.
Система команд
4 Лабораторная работа № 4.
Исследование конвейерной обработки
5 Лабораторная работа № 5
Подпрограммы и стек
6 Лабораторная работа № 6
Программирование внешних устройств
7 Лабораторная работа № 7
Изучение программы PacketTracer . Изучение интерфейса командной строки Cisco ios.
8 Лабораторная работа № 8
Изучение орбит ИСЗ с помощью программы “Orbitron”
Лабораторная работа №1
Разработка алгоритма и микропрограммы арифметической операции над числами с фиксированной ,плавающей точкой и двоично-десятичными кодами.
Цель работы: Произвести операции сложения являющихся базовой с использованием машинных кодов с использованием программной модели АЛУ.
Теоретическая часть
Набор арифметических операций составляют операции сложения, вычитания, умножения и деления. Операция сложения является базовой, так как она входит в состав операций умножения и деления, а вычитание вообще выполняется как сложение с учетом знаков операндов (при использовании машинных кодов).
Алгоритм сложение целых двоичных чисел с ФТ производится в следующем порядке:
1. Операнды представляются в обратном или дополнительном коде. Обычно используют ДК.
Сложение операндов производится поразрядно, начиная с младшего разряда.
В каждом разряде выполняются сложение двух цифр слагаемых и перенос из младшего разряда в соответствии с правилами двоичной арифметики.
Знаковые разряды участвуют в сложении наряду с цифровыми разрядами. Знак результата получается автоматически.
При сложении чисел в ДК перенос из знакового разряда отбрасывается. (При сложении чисел в ОК перенос из знакового разряда прибавляется к младшему разряду суммы.)
Если слагаемые представлены в ДК, то результат сложения получается также в ДК.
При сложении чисел с одинаковыми знаками возможно переполнение разрядной сетки.
Сложение и вычитание чисел с ПТ. Особенностью сложения и вычитания чисел с ПТ является то, что в общем случае операнды могут иметь различные порядки. Суммировать разряды мантиссы можно только тогда, когда они имеют одинаковый вес, поэтому перед суммированием мантисс необходимо выровнять порядки. При этом могут быть потеряны младшие разряды мантиссы. Для уменьшения погрешности выполняется округление результата. После суммирования результат может оказаться ненормализованным, в этом случае необходима его нормализация.
С учетом этих особенностей сложение чисел с ПТ выполняется : в следующем порядке: подготовительный этап, выравнивание порядков, сложение мантисс, заключительный этап.
Алгоритм сложение целых двоичных чисел с ПТ производится в следующем порядке:
Сравниваются порядки (характеристики) исходных чисел путем их вычитания Δ p=p1-p2 . При выполнении этой операции определяется, одинаковый ли порядок имеют исходные слагаемые.
Если разность порядков равна нулю, то это значит, что одноименные разряды мантисс имеют одинаковые веса (двоичный порядок). В противном случае должно проводиться выравнивание порядков.
Для выравнивания порядков числа с меньшим порядком сдвигается вправо на разницу порядков Δ p. Младшие выталкиваемые разряды при этом теряются.
После выравнивания порядков мантиссы чисел можно складывать (вычитать) в зависимости от требуемой операции. Действия над слагаемыми производятся в обратном или дополнительном коде по общим правилам.
Порядок результата берется равным большему порядку.
Если мантисса результата не нормализована, то осуществляются нормализация и коррекция значений порядка.
Арифметические операции над двоично-десятичными кодами чисел
При обработке больших массивов экономической информации переводы чисел из десятичной системы в двоичную и обратно могут требовать значительного машинного времени. Некоторые образцы ЭВМ поэтому имеют или встроенные, или подключаемые блоки, которые обрабатывают десятичные целые числа в их двоично-десятичном представлении. Действия над ними также приводятся к операции алгебраического сложения отдельных цифр чисел, представленных дополнительными кодами в соответствии с табл.
Существует несколько алгоритмов сложения двоично-десятичных кодов десятичных чисел. Приведем один из алгоритмов сложения, который получил довольно широкое распространение.
1. Сложение чисел начинается с младших цифр (тетрад) и производится с учетом возникающих переносов из младших разрядов в старшие.
2. Знак суммы формируется специальной логической схемой по знаку большего слагаемого.
3. Для того чтобы при сложении двоично-десятичных цифр возникали переносы, аналогичные при сложении чисел в десятичном представлении, необходимо проводить так называемую десятичную коррекцию. Для этого к каждой тетраде первого числа прибавляется дополнительно по цифре 610=01102, что позволяет исключить шесть неиспользуемых комбинаций (1010—1111)2, так как они кодируют шестнадцатеричные цифры А—F (числа 10—1510).
4. После операции суммирования осуществляется корректировка суммы. Из тех тетрад суммы, из которых не было переносов, изымаются ранее внесенные избытки 610=01102. Для этого проводится вторая коррекция. Операция вычитания заменяется, как и обычно, операцией сложения с числом -6, представленным дополнительным кодом 10102, но только в тех разрядах, в которых отсутствовали переносы. При этой второй коррекции переносы из тетрад блокируются.
5. Операция вычитания реализуется достаточно своеобразно. По общему правилу сложения (см. п. 1—4) к тетрадам числа с большим модулем прибавляются дополнительные коды тетрад другого числа. При этом первая коррекция не проводится, так как в дополнениях тетрад она учитывается автоматически. Знак результата определяется по знаку числа с большим модулем.
При сложении над двоично-десятичными числами со знаком используются обратный или дополнительный код. Для получения ОК к каждой тетраде прибавляется двоичное число 0110, а затем все цифровые тетрады инвертируются. Дополнительный код получают из обратного путем прибавления единицы к младшей тетраде.
Задание 1
Пример 1. Сложить числа А10 = -2 и В10 = -9 с одинаковыми знаками (без
переполнения).
А2= − 0010→ А2пк = 1 0010→ А2ок =1 1101→ А2дк= 1 1110
+ +
В2= −1001→ В2пк = 1 1001→ В2ок = 1 0110→ В2дк =1 0111
А2 дк +В2дк= С2дк = 11 0101→ С2пк =1 1011;
С2 = −1011, С10=−11.
При сложении чисел с одинаковыми знаками возможно получение результата, значение которого больше величины 2n-1, где n — разрядность слагаемых. При этом результат не укладывается в отведенных для него разрядах, поэтому такая ситуация называется переполнением разрядной сетки.
Пример 2. Сложить числа А10 = -13 и В10 = -6 с одинаковыми знаками (с переполнением).
А2 = −1101 → А2пк = 1 1101→ А2ок = 1 0010 → А2дк = 1 0011
+ +
В2 = -0110 → В2пк = 1 0110 → В2ок = 1 1001 → В2дк = 1 1010
А2 дк +В2дк= С2дк= 10 1101→С2пк =0 1101;
С2 = + 1101, С10=+13.
Одним из признаков переполнения является отличие знака суммы от знака слагаемых. Иногда при сложении используется модифицированный дополнительный код (МДК), в котором для знака числа отводится два разряда. В этом случае признаком переполнения являются различные значения знаковых разрядов суммы. Если переполнение не возникает, то значения знаковых разрядов совпадают. Рассмотрим примеры сложения чисел в МДК.
Пример 3. Сложить числа А10 = +11 и В10 = +8 (сумма больше 0).
А2= + 1011→ А2пк = 0 1011 → А2ок = 0 1011 → А2мдк = 00 1011
+ +
В2 =+ 1000 → В2пк = 0 1000 → В2ок = 0 1000 → В2мдк = 00 1000
А2 дк +В2дк = С2мдк = 01 0011
Переполнение! Различные значения знаковых разрядов суммы.
Так как при сложении в дополнительном коде учитываются знаки чисел, то вычитание чисел можно заменить сложением в соответствии с соотношением
А-В = А + (–В).
Таким образом, вычитание заменяется сложением уменьшаемого с вычитаемым, взятым с обратным знаком.
Пример 4. Произвести вычитание чисел А10= −3 и B10 = +15 (с переполнением).
А2= − 0011→ А2пк= 1 0011 → А2ок=1 1100→ → → → → А2дк= 1 1101
+ +
В2=+1111 → В2пк= 0 1111→ (− В)2пк = 1 111→ (− В)2ок=1 0000 →
→ (− В)2дк =1 0001
______
А2 дк +В2дк= С2дк= 10 1110;
С2пк = 0 1101 С2=+1101? Переполнение!
Признаком переполнения в данном случае являются различные значения знаковых разрядов разности.
Задание 2
Пример 5. Выполнить сложение чисел с ПТ в ДК, если А10 = −155/8;
А2 =−1111.101; АПТ = −0.1111101х10+100.
В10 = + 161/4; В2 = +10000.01; ВПТ =+0.1000001х10+101 .
(МА)пк= 1 1111101; (МА)дк = 1 0000011; (РА)пк=0 100; (РА)дк= 0 100; (МВ)пк =
0 1000001; (МВ)дк = 0 1000001;
(РВ)ПК = 0 101; (РВ)дк = 0 101; (−РВ)дк=1 011.
Вычислим разность порядков:
(РА)ДК = 0 100
+
(−РВ )дк=1 011
______________
(ΔР)ДК = 1 111 →(ΔР)ПК =1 001→ (ΔР)2 =−001→(ΔР)10 =−1.
Разность порядков не равна нулю, выравнивание порядков необходимо. Разность порядков меньше нуля, число А имеет меньший порядок. Сдвигается мантисса числа А.
Мантисса числа А после сдвига: (МА)дк = 1 1000001 |1.
(В освобождающиеся разряды мантиссы заносится значение знакового разряда. Старший из выдвигаемых разрядов сохраняется в дополнительном разряде регистра суммы.)
Порядок суммы (РА+В)ДК = (РВ)ДК = 0 101.
Выполним сложение мантисс: (МА)дк = 1 1000001 |1
+
(Мв)дк = 0 1000001 |0
___________
(МА)дк+ (МВ)дк= (МА + МВ)дк = 10 0000010 |1. Нормализация нарушена справа.
Мантисса суммы сдвигается влево на пять разрядов.( не влево а вправо от сидящего)
Мантисса суммы после сдвига: (МА + МВ)дк = 0 1010000 |0
Округление. + |1
=___________
Мантисса суммы после округления: (МА + МВ)дк = 0 1010000.
Порядок суммы после нормализации: (РА+В)ДК = 0 101 + 1 011=0 000. Результат: (МА + МВ)пк = 0 1010000 → (МА + МВ)2 = + 0.1010000.
(РА+В)ДК = 0 000 → (РА+В)2 = + 000.
Сумма: (А + В)ПК = +0.1010000 х 10+000 →(А + В)2 = +0.101 →(А+В)10 =+5/8.
Точный результат: −155/8 + 161/4 = +5/8.
При выполнении операции вычитания знак вычитаемого изменяется на противоположный, далее операция продолжается как сложение.
Пример 6. Определить разность чисел, представленных в форме с ПТ. Операцию выполнить с использованием МДК.
А10 = −53/4; А2 =−101.11; Апт = −0.10111х10+011.
В10 = + 35/8; В2 = +11.101; Впт =+0.11101х10+010 .
(МА)пк= 1 10111; (МА)мдк = 11 01001; (РА)пк=00 011; (РА)мдк= 00 011; (МВ)пк =
0 11101; (МВ)мдк =00 11101; (−МВ)мдк = 11 00011.
(РВ)пк = 00 010; (РВ)мдк = 00 010; (−РВ)мдк=11 110.
Вычислим разность порядков:
(РА)мдк = 00 011
+
(−РВ )мдк=11 110
________
(ΔР)мдк = 00 001 →(ΔР)пк =00 001→ (ΔР)2 =+001→ΔР)10 =+1.
Разность порядков не равна нулю, выравнивание порядков необходимо. Разность порядков больше нуля, число В имеет меньший порядок. Сдвигается мантисса числа В.
Мантисса числа (−В) после сдвига: (−МВ)мдк =11 10001|1.
Порядок разности (РА-В)мдк = (РА)мдк = 00 011.
Выполним сложение мантисс: (МА)мдк =11 01001|0
+
(−МВ)мдк= 11 10001|1
___________________
(МА)мдк + (−МВ)мдк= (МА − МВ)мдк = 0 11010|1. Нормализация нарушена слева.
Мантисса разности сдвигается вправо на один разряд. Мантисса разности после сдвига: (МА − МВ)мдк = 11 01101|0 Округление. + |1
_______________________
Мантисса разности после округления: (МА − МВ)мдк =11 01101.
Порядок разности после нормализации: (РА-В)мдк = 00 011 + 00 001 =
= 00 100.
Результат: (МА – МВ)пк = 11 10011 → (МА − МВ)2 = −0.10011.
(РА-В)МДК = 0 100 → (РА-В)2 = +100.
(А − В)ПТ = −0.10011 х 10+100 → (А- В)2 = −1001.1 →(А− В)10 = −91/2.
Точный результат: −53/4 − 35/8 = −93/8.
Погрешность возникла при
сдвиге мантиссы числа В при выравнивании порядков.
Задание 3
Пример 7. Сложить два числа Аю= 177; В10=418.
Пример 8
Определить сумму чисел в двоично-десятичном коде, если
А10 = –183; B10 = 924.
A2–10 = – 0001 1000 0011; B2–10 = + 1001 0010 0100
(A2–10)ПК = 1 0001 1000 0011 (B2–10)пк = 0 1001 0010 0100
+ 0110 0110 0110 Прибавление кода 0110
(A2–10)ОК = 1 0111 1110 1001
1 1000 0001 0110 Инверсия
+ 0001 Прибавление единицы
(A2–10)ДК = 1 1000 0001 0111 (B2–10)ДК = 0 1001 0010 0100
(B 2–10)ДК = + 0 1001 0010 0100 Сложение
(A2–10 + B 2–10)ДК=10 0001 0011 1011 При суммировании возник
коррекция + 0110 0110 перенос из первой тетрады
(A2–10 + B 2–10)ДК= 0 0111 0100 0001 и образовалась запрещенная
(A +B) 2–10 = + 0111 0100 0001 комбинация последней тетраде
(A +B) 10 = + 741
Варианты индивидуальных заданий. Индивидуальное задание студенту определяется преподавателем. В индивидуальном задании требуется произвести операций над числами с ФТ, ПТ и Двоично-десятичном коде.
Вариант к заданию 1
А0 |
11 |
− 9 |
−2 |
−12 |
−11 |
9 |
8 |
−4 |
8 |
В0 |
−7 |
3 |
−9 |
−6 |
5 |
7 |
−3 |
16 |
−4 |
Вариант к заданию 2
А0 |
-145/8 |
125/8 |
1105/8 |
115/8 |
155/8 |
165/8 |
195/8 |
185/8 |
175/8 |
В 0 |
151/4 |
171/4 |
111/4 |
141/4 |
131/4 |
161/4 |
191/4 |
181/4 |
121/4 |
Вариант к заданию 3
А0 |
-214 |
217 |
-172 |
747 |
-174 |
465 |
-167 |
-174 |
165 |
В0 |
324 |
-171 |
815 |
-123 |
658 |
-387 |
917 |
887 |
-768 |
Контрольные вопросы
Какие элементы формата чисел с ПТ вы знаете?
Чем отличается нормализованное число с ПТ от
ненормализованного числа?
Для чего применяются двоично-десятичные коды?
Как зависит разрядность чисел от величины основания системы счисления?
Можно ли различить форматы целых и дробных чисел с ФТ?
Для чего используются машинные коды чисел?
Чем отличаются дополнительный и обратный коды отрицательных чисел?
Как из ДК отрицательного числа получить ПК числа?
Лабораторная работа 2
Исследование логических основ цифровых автоматов.
Цель работы: Построить логическую схему на основе высказываний путем упрощения выражен
Теоретическая часть:
Теоретической основой построения ЭВМ являются специальные математические дисциплины. Одной из них является алгебра логики, или булева алгебра (Дж. Буль — английский математик прошлого столетия, основоположник этой дисциплины). Ее аппарат широко используют для описания схем ЭВМ, их оптимизации и проектирования.
Вся
информация в ЭВМ представляется в
двоичной системе счисления. Поставим
в соответствие входным сигналам отдельных
устройств ЭВМ значения переменных хi(i
= 1, n),
а выходным сигналам — значения
функций yj(j=1,m)(рис.
2.1).
Рис. 2.1. Представление схемы ЭВМ
В этом случае зависимостями
где: хi, — i-йвход;
п — число входов;
уj—j-й выход;
т — число выходов в устройстве,
можно описывать алгоритм работы любого устройства ЭВМ. Каждая такая зависимость уjявляется «булевой функцией, у которой число возможных состоянии и каждой ее независимой переменной равно двум» (стандарт ISO 2382/2-76), т.е. функцией алгебры логики, а ее аргументы определены на множестве {0,1}. Алгебра логики устанавливает основные законы формирования и преобразования логических функций. Она позволяет представить любую сложную функцию в виде композиции простейших функций. Рассмотрим наиболее употребительные из них.
Известно, что количество всевозможных функций N от п аргументов выражается зависимостью
(2.3)
При n=0 можно определить две основные функции (N=2), не зависящие от каких-либо переменных: у0, тождественно равную нулю (у0≡0), и у1тождественно равную единице (y1≡1). Технической интерпретацией функции y1≡1 может быть генератор импульсов. При отсутствии входных сигналов на выходе этого устройства всегда имеются импульсы (единицы). Функция может быть интерпретирована отключенной схемой, сигналы от которой не поступают ни к каким устройствам.
При п=1 зависимость (2.3) дает N=4. Представим зависимость значений этих функций от значения аргумента х в виде специальной таблицы истинности (табл. 2.4).
Таблица 2.4. Таблица функций от одной переменной
Таблицы
истинности получили такое название,
потому что они определяют значение
функции в зависимости от комбинации
входных сигналов. В этой таблице, как
и ранее, у0≡0
и y1≡1.
Функция
у2=х,
а функция
у3=x
(инверсия х).
Этим
функциям соответствуют определенные
технические аналоги. Схема, реализующая
зависимость у2=х,называется
повторителем,
а схема
у3=x—
инвертором.
При п=2, N=16, т.е. от двух переменных можно построить шестнадцать различных функций. В табл. 2.5 представлена часть из них, имеющая фундаментальное значение при построении основных схем ЭВМ.
Таблица 2.5 Таблица функций от двух переменных
Заметим, что в левой части таблицы перечислены всевозможные комбинации входных переменных (наборы значений), а в правой — возможные реакции выходных сигналов. В табл. 2.5 представлены функции у0-у3, полностью соответствующие функциям из табл. 2.4, а также новые, часто используемые и интересные функции у4-у9. При этом местоположение функций и их нумерация в таблице особого значения не имеют. По данной таблице нетрудно составить аналитическое выражение (зависимость) для каждой функции от двух аргументов вида (2.2). Для этого наборы переменных, на которых функция принимает значение единицы, записываются как конъюнкции (логическое умножение) и связываются знаками логического сложения. Такие формы функций получили название дизъюнктивных нормальных форм (ДНФ). Если в этих функциях конъюнкции содержат все без исключения переменные в прямом или инверсном значении, то такая форма функций называется совершенной.
Функция y4 представляет собой функцию логического сложения, дизъюнкцию. Она принимает значение единицы, если хотя бы одна переменная х{или х2имеет значение единицы:
Тождественность перечисленных аналитических зависимостей можно установить, пользуясь приведенными ниже законами алгебры логики.
Функция у, является инверсной функцией по отношению к у4:
Она имеет название «отрицание дизъюнкции». Иногда в литературе встречается ее специальное название — «стрелка Пирса», по фамилии математика, исследовавшего ее свойства.
Функция у6является функцией логического умножения. Она очень похожа на операцию обычного умножения и принимает значение единицы в тех случаях, когда все ее переменные равны единице:
У6 = х1●х2.
Функция у7 является инверсной функцией по отношению к у6:
Она называется «отрицание конъюнкции» или «штрих Шеффера».
Функция y8 называется логической равнозначностью. Она принимает значение единицы, если все ее переменные имеют одинаковое значение (или 0, или 1):
Функция у9является инверсной функцией по отношению к у8
Она принимает значение единицы, если ее переменные имеют противоположные значения. Далее будет показано, что функции у8и у9являются основой для построения сумматоров, так как они соответствуют правилам формирования цифр двоичных чисел при сложении (вычитании).
Из перечисленных функций двух переменных можно строить сколь угодно сложные зависимости, отражающие алгоритмы преобразования информации, представленной в двоичной системе счисления. Алгебра логики устанавливает правила формирования логически полного базиса простейших функций, из которых могут строиться любые более сложные. Наиболее привычным базисом является набор трех функций {инверсия —「, дизъюнкция —V, конъюнкция — Λ или &}. Работа с функциями, представленными в этом базисе, очень похожа на использование операций обычной алгебры.
Алгебра логики устанавливает, что существуют и другие комбинации простейших логических функций, обладающих свойством логической полноты. Например, наборы логических функций {инверсия, дизъюнкция} и (инверсия, конъюнкция} также являются логически полными. Наиболее интересны минимальные базисы, включающие по одной операции {«отрицание дизъюнкции ()»} и {«отрицание конъюнкции ()»}- Однако работа с функциями, представленными в указанных базисах, требует от специалистов по проектированию ЭВМ определенных навыков.