Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ИНСТИТУТ -
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФИЛИАЛ «СТРЕЛА» г. Жуковский
СЕМИНАР № ___
по дисциплине «Организация ЭВМ и систем»
Конспект лекций _1 _2_ _3_
ГРУППА С-506
БРИГАДА № _1_
Баринов Д.П.
Погорелов А.А.
Чуловский О.М.
ПРЕПОДАВАТЕЛЬ ктн Шапочкин Ю.А.
Дата выпуска конспекта ___ _____ ____
Комментарий преподавателя:
=============================================================
ОГЛАВЛЕНИЕ
Лекция № _1__ Стр. 3-7
Лекция № _2__ Стр. 8-14
Лекция № _3__ Стр. 15-19
Лекция 1. Арифметика компьютерного счёта
1.1 Системы счёта (С.С.)
Все вычисления строятся на базе систем счёта (С.С.), которые представляют собой некоторый язык устного и письменного общения и систем правил, которые позволяют с помощью правил этого языка оперировать с количествами объектов реального или виртуального мира.
СЧ = {А - алфавит, П - правила} Ф 1-1
На практике применения СЧ делятся на 2 категории: позиционные и непозиционные.
1.1.1 Непозиционные С.С.
1.1.1.1 Единичная С.С.
А1 = {1} Ф 1-2
Алфавит состоит из одного символа, а основным правилом является аддитивность, т.е. сумма всех символов равняется эквиваленту записанного числа.
Недостатком этой С.С. является её громоздкость при записи больших чисел. Для устранения этого недостатка вводятся дополнительные символы, обозначающие группы единичных символов.
1.1.1.2 Римская С.С.
Ар = {1,V,X,L,C,D,M} Ф 1-3
Имеет 2 модификации: с неупорядоченной записью в староримской системе, при которой безразлично расположение алфавитных знаков и упорядоченной записью в новоримской системе, где число представляется однозначно при записи цифр по следующему правилу:
“ Единичные отметки, если они стоят перед символом групповой цифры, то цифры справа прибавляются , а слева вычитаются”
Для всех непозиционных С.С запись числа зависит только от вида входящей в него цифры и не зависит от места расположения этой цифры в строке записи числа (в новоримской С.С. не строгая зависимость). В неупорядоченных С.С. можно осуществлять счёт только с операциями сложения вычитания.
1.1.2 Позиционные С.С.
В Европе первая позиционная С.С., известная как Арабско-индийская, десятичная система, появилась в десятом веке, а в России на рубеже 17-18 века после Петровских реформ.
1.1.2.1 Арабско-индийская С.С.
АА-и = {0,1,2,3,4,5,6,7,8,9} Ф 1-4
В этой системе введён символ нулевой цифры, обозначающей пустое множество и дополнительный алфавит из девяти знаков, каждая из которых соответствует количеству элементов из единичной С.С.
1.1.3 Общие свойства позиционных С.С.
Всегда присутствует символ нуля для отображения пустого множества.
Количество алфавитных цифр вместе с нулевым значением является целым числом, которое называется основанием (Radix) этой системы.
Строковая запись числа строго фиксирована по разрядам, а записанная в разряде цифра характеризуется не только отображаемым знаком, но и местом этой цифры в разряде записи числа.
Отношение двух одинаковых цифр в двух соседних разрядах постоянно и является основанием С.С.
xi+1/ xi = R = const Ф 1-5
В общем случае число, из “n” разрядов целой части и “m” разрядов дробной представленное в позиционной С.С., можно выразить степенным полиномом в следующей форме записи:
XR = xn-1Rn-1 + xn-2Rn-2 + … + x0R0 + x -1R-1 + x -2R-2 + … + x-mR-m = Ф 1-6
n-1 m
= ∑ xi + ∑ xj
0 1
В таблице 1.1 приведены примеры рядов чисел с различными основаниями.
Таблица 1.1 рядов чисел позиционных систем.
Системы Счисления |
Десятичная |
Двоичная |
Восьмеричная |
Шестнадцатеричная |
0 |
|||
1 |
|||
2 |
|||
3 |
|||
4 |
|||
5 |
|||
6 |
|||
7 |
|||
8 |
|||
9 |
|||
10 |
A |
||
11 |
B |
||
12 |
C |
||
13 |
D |
||
14 |
E |
||
15 |
F |
||
16 |
10 |
||
17 |
11 |
Примечание 1: алфавит знаков естественных позиционных С.С. нормирован (кроме майской системы) по следующему принципу:
Если основание С.С. Ri <= 10, то используются алфавит Арабско-индийской системы, а если основание Ri > 10 , то к этим знакам добавляются символы латинского алфавита.
Примечание 2: в числителе позиционных С.С. только для основания R = 10 формируется склоняются с характерными суффиксами ( ать). Для остальных С.С. в числителе в именительном падеже с названием соответствующего знака арабского и латинского алфавита по порядку их записи от старшего к младшему с добавлением названия соответствующей С.С. , например: 1011 > один ноль одиннодцатиричная.
Выводы к лекции 1
1) Европейские цивилизации до десятого века использовали только непозиционные С.С. несмотря на наличие автоматизированных приборов, осуществляющих расчёт в позиционной С.С.(типа канцелярских счёт)
) Позиционные С.С. характеризуются своим основанием численно равным количеству знаков алфавита этой системы.
) В практике ручного счёта применяются только “естественные” позиционные С.С., в которых кратность двух одинаковых цифр в соседних разрядах старший / младший есть величина постоянная, равная основанию этой С.С.
) Универсальной С.С. является единичная система с одним алфавитным символом (произвольной формы). Количество счётных объектов в этой системе отображается их числовым эквивалентом, наглядно демонстрирующих их количество, но трудно обозримым при записи больших чисел.
План Лекции №2
Лекция 2. Перевод чисел из одной системы в другую.
2.1 Универсальный метод перевода чисел для произвольных систем.
В основу положен метод перевода чисел с использованием в качестве промежуточной единичной С.С. Таблица 2.1 задаёт алгоритм такого перевода
Таблица 2.1 Алгоритм перевода чисел для произвольных С.С.
1) XисхR=i ; Yиск R=j=0. |
Записать исходное число в своей С.С., а искомое число приравнять к 0. |
2) (XисхR=i -1)Ri ; (YискR=j+1)Rj. |
Из исходного числа в С.С. его представления вычесть единицу, а к искомому числу прибавить единицу с учётом правил в искомой системе. |
3) Если XисхR=I ≠ 0, то 2. |
При неравенстве нулю разности чисел в исходной системе повторить процедуру 2. |
4) YискR=j ; стоп. |
Если исходное число равно 0, то полученную сумму предыдущей процедуры считать искомым числом. |
Пример 2.1 Перевод числа 113 из троичной С.С. в четверичную
Xисх3 =113 ; Yиск4=?
N |
Xисх3 |
Yиск4 |
1 |
3 |
4 |
2 |
(11-1)3=103 |
(0+1)4=14 |
3 |
(10-1)3=23 |
(1+1)4=24 |
4 |
(2-1)3=13 |
(2+1)4=34 |
5 |
(1-1)3=03 |
(3+1)4=104 |
стоп |
Этот метод только для машинных расчётов, т.к. операции с большими числами требуется большое количество итераций.
2.2 Ручной перевод чисел через промежуточную десятичную С.С.
(XисхR=i → Zпром10 → YискR=j)
2.2.1 Перевод чисел в десятичную С.С.
Алгоритм перевода представлен в форме таблицы 2.2.
Таблица 2.2 Алгоритм перевода числа в десятичную С.С.
1) XисхR=I = XiRn+XiRn-1+…XiR0+X-1R-1+X-iR-m |
Исходное число представить в виде полинома, выражая его цифры и основания в десятичной записи при основании (R>10). |
2) XисхR=I = Zпром10 |
Выполнить расчёты в десятичной арифметике и получить результат как промежуточную запись в десятичной С.С. для целой и дробной части. |
Пример 2.2 Перевести число из С.С. цивилизации Майя в десятичную форму путём представления его в степенной полином в десятичной форме записи.
Zпром10 = 12*101 +19*100 + 2*10-1 + 1*10-2 = 120+19+0,2+0,01 = 139,2110
2.2.1.1 Перевод из десятичной системы в искомую для целой части числа.
Осуществляется по алгоритму табл. 2.3
Таблица 2.3 Алгоритм перевода для целой части числа.
1. Zпром10 → YискR=j |
Целую часть промежуточных значений числа в десятичном эквиваленте разделить на основание искомого числа (в десятичном представлении) до получения остатка. |
2) Ост > Rj > 1 |
Если остаток больше основания искомого, то повторить процедуру 1. |
3) Ост n , ост n-1 , … , ост 1. |
Полученные остатки в обратном порядке записать в строковое значение искомого числа. |
Пример 2.3 Перевести число 13910 в шестнадцатеричную С.С.
Zпром10 = 139 → YискR=16
139/16 = 8 и 11 в остатке.
11 = B в шестнадцатеричной С.С.
Yцел.R=16 = 8B16
2.2.1.2 Перевод из десятичной системы в искомую для дробной части числа.
Осуществляется алгоритмом в форме таблицы 2.4.
Таблица 2.4 Алгоритм перевода для дробной части числа.
1) Zпром.дроб.10 * Rj |
Десятичную дробь умножить на основание искомой системы в десятичном представлении. |
2) Целая часть, Е ≠ Езад. |
Запомнить число перед дробью и если заданная точность не достигнута, то повторить пункт 1. |
3) П1+П2+…+Пn |
Запомненные целые части произведений записать в строку в порядке в их получения, что будет соответствовать дробной части промежуточного числа. |
Пример 2.4 Перевести десятичную дробь в шестнадцатеричную с точностью ε=10-3
Zпром.10 = 0,21 ε = 0,001
,21*16 = 3, 36 ε = 0,1 ≠ 0,001
,36*16 = 5, 76 ε = 0,01 ≠ 0,001
,76*16 = 12, 76 ε = 0,001 > стоп.
Yдроб..R=16 = 0,35С16
Возвращаясь к записи исходного числа в примере 2.2, получим искомый результат.
....
,
. .
.
. .
= 139,2110 = 8В,35С16
2.3 Мгновенный перевод чисел, представленных в С.С. с основанием кратным 2
(R=2n)
Для чисел с таким основанием (R=2n) перевод осуществляется через промежуточную двоичную систему, в которой числа исходной системы выражаются по - разрядно группами по “n” двоичных разрядов, в соответствии с формулой:
log22n = n Ф 2-1
как это представлено в таблице 2.5.
Таблица 2.5 Количество двоичных разрядов для чисел с R = 2n.
Название Системы Счёта |
Количество разрядов n |
Название двоичной разрядной группы |
Двоичная BINARY |
1 |
Битовая |
Четверичная QUARTENARE |
2 |
Диадная |
Восьмеричная OCTAL |
3 |
Триадная |
Шестнадцатеричная HEX |
4 |
Тетрадная |
В практике вычислений числа с основанием n > 4 не используется.
Для перевода в искомую систему еще необходимо промежуточное число разбить на разрядные группы новой системы счёта:
- слева направо от запятой (точки) для целой части числа
- справа налево для дробной части числа; добавляя в недостающие группы нулевые значения разрядов.
Пример 2.5 Перевести число 8B, 35C16 в промежуточную двоичную систему, а из неё в четверичную и восьмеричную
8B, 35C16 > Zпром.2
n = log 2 16 = 4
8B, 35C16 = 1000 1011, 0011 0101 11002 = 2023, 0311304 = 312, 15348
2.4 Двоично-R-ичные системы
К ним относятся представления числа в любой С.С, эквивалентным кодам его прямого замещения, при этом количество необходимых двоичных разрядов определяется формулой:
n = log 2 R + К,
где К наименьшее целое число, дополняющие количество разрядов до ближайшего основания кратного степени 2.
Для 2 10 х чисел количество комбинаций в ходе прямого замещения равна десяти, а остальные шесть избыточные. Для десятичной С.С. в её двоичном представлении веса двоичных разрядов определяются как весовые коэффициенты соответствующие значениям степени 2:
X2 10 = x3 * 23 + x2 * 22 + x1 * 21 + x0 * 20 = 8 * x3 + 4 * x2 + 2 * x1 + x0 Ф 2-2
Где xi значение двоичной цифры (0,1) в 4-х разрядной (тетрадной) группе; 8,4,2,1 весовые коэффициенты в коде прямого замещения. Для любой другой С.С. в ходе прямого замещения используется тот же набор весовых коэффициентов, а неиспользованные комбинации считаются избыточными и недопустимыми. При этом для 10-ой С.С. представляет интерес подобрать такие весовые коэффициенты для выполнения следующих требований:
X2-10 = k3*x3 + k2*x2 + k1*x1 + k0*x0 Ф 1-6
Этим условиям удовлетворяет 2 10 й код Эмери Айкена (2-4-2-1):
Таблица 2.4 Код 2-4-2-1.
X10 |
X2-10 |
k3=2 |
k2=4 |
k1=2 |
k0=1 |
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
2 |
0 |
0 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
0 |
1 |
0 |
0 |
5 |
1 |
0 |
1 |
1 |
6 |
1 |
1 |
0 |
0 |
7 |
1 |
1 |
0 |
1 |
8 |
1 |
1 |
1 |
0 |
9 |
1 |
1 |
1 |
1 |
Выводы к лекции 2
1) Универсальным машинным методом перевода чисел из одной системы в другую является машинный перевод с помощью алгоритма, преобразующего числа с помощью единичной (унарной) С.С. Для устранения громоздкости рутинных расчетах при «ручном» преобразовании, используется промежуточная десятичная С.С. с последовательным переводом числа в промежуточное десятичное число, а затем в искомое число в другой системе счёта.
2) Для С.С. с основанием кратным степени двум перевод осуществляется «мгновенно» путем выражения числа в двоичной записи и формирования в ней разрядных групп с числом разрядов в искомой С.С.
n = log2R (R=2n)
3) В практике машинного счёта применяется двоичноR-ичные кодирование, когда цифра в разряде искомого числа представляется записью в двоичном коде, а всё число представлено группами двоичных кодировок искомого числа. В инженерной практике при разработке преобразователей типа ЦАП, АЦП применяется двоично десятичная система кодирования с различными весовыми соотношениями, где наиболее распространение получил код Эмери Айкена с весовыми коэффициентами 2-4-2-1.
План Лекции №3
Лекция 3.Двоичные коды машинной арифметики.
При ручном счёте в алфавит позиционных С.С. дополнительно к количеству символов равному её основанию вводятся ещё 2 символа для обозначения (+, ) положительных и отрицательных чисел. При аппаратной реализации машинного счёта простоту и регулярность схемных решений обеспечивают конструктивные элементы, работающие в двух устойчивых состояниях, которые соответствуют алфавиту двоичной системы {0,1}. Поэтому положительные и отрицательные числа при их двоичной интерпретации кодируются тем же алфавитом состояний: 0 для положительных и 1 для отрицательных чисел. При этом само число представляется в так называемой разрядной сетке, в которой один разряд знаковый, а остальные разряды представляют собой модуль записанного числа, т.е. в общем случае n-разрядное число представляется в разрядной сетке , включающей в себя знак и модуль числа, как показано на рис.3.1
Знак модуль числа
(n-1)p |
(n-2)p |
1р |
0р |
xn-1 xn-2 x1 x0
Рис. 3.1 Разрядная сетка двоичного числа.
В дальнейшем будут рассмотрены коды прямого замещения с весовыми коэффициентами 1,2,4,8,16…2i, где i номер разряда.
Существует 3 системы кодирования: в прямом, обратном и дополнительном коде.
Общим правилом для них является:
Во всех названных системах кодирования положительные числа равны между собой и кодируются одинаково. Отличие составляют их отрицательные значения, т.е. при работе с отрицательными числами результат соответствует только одному из названных кодов.
3.1 Прямой код.
Прямым кодом двоичного числа является само это число, если оно положительно и модуль этого числа с единицей в знаковом разряде если оно отрицательно. Машинный “0” в прямом коде неоднозначен и в зависимости от области перехода положительных отрицательных чисел имеет два значения: “положительный” или ”отрицательный” ноль.
3.2 Обратный код
Обратный код отрицательного числа соответствует модулю этого числа, где каждая разрядная цифра проинвертирована (т.е. если исходная цифра была ноль, то инверсная будет единица и наоборот). В обратном коде число ноль тоже кодируется неоднозначно и в зависимости от области перехода переборе положительных или отрицательных чисел имеет 2 значения.
3.3 Дополнительный код
Дополнительным кодом отрицательного числа является поразрядная инверсия модуля его разрядных цифр с прибавлением единицы к этому инверсному коду. Число ноль в дополнительном коде трактуется однозначно вне зависимости от области перебора и равно “положительному” нулю.
Таблица 3.1 Кодирование 3х разрядного модуля числа
п/п |
Прямой код |
Обратный код |
Дополнительный код |
Знак |
22 |
21 |
20 |
Знак |
22 |
21 |
20 |
Знак |
22 |
21 |
20 |
|
+7 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
+6 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
+5 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
+4 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
+3 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
+2 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
+1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
+0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
-1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
-2 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
-3 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
-4 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
-5 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
-6 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
7 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
Примечание:
1) При арифметических операциях сложения и вычитания перенос единицы переполнения (или заемной) суммы цифр сквозной по всем разрядам, включая знаковый, для обратного и дополнительного кода.
2) Сложение цифр в прямом коде осуществляется по правилам обычной арифметики:
Для чисел с одинаковыми знаками складываются их модули, а результату присваивается общий знак слагаемых.
Для чисел с разными знаками анализируются модули чисел на выявление числа с большим модулем, а затем из большего модуля вычитаю меньший, а разности присваивается знак числа с большим модулем.
В обратном и дополнительном коде арифметические операции осуществляют только сложение чисел со сквозным переносом переполнения от младшего разряда до старшего числового модуля и далее в знаковый разряд.
3) При суммировании чисел с одинаковыми знаками необходимо фиксировать возможное переполнение разрядной сетки их модулей и при необходимости применять другое масштабирование или округление.
Выводы к лекции №3:
1) Двоичные коды машинной арифметики используют формат машинного слова в разрядной сетке двоичного числа, включая в себя разряды модуля числа и специально отводимый (перед старшим разрядом модуля) знаковый разряд, в котором код положительного числа равен нулю, а отрицательного единице.
2) При выполнении операции с отрицательными числами может использоваться только одна система кодирования в которой и получается искомый результат суммы или разности. При этом все положительные числа в прямом, обратном и дополнительном коде кодируются одинаково.
3) В прямом коде сложение чисел осуществляется по правилам обычной арифметики и требует анализ знака чисел, сравнение модуля по величине, операции сложения или вычитания. Знаковый разряд при операциях в прямом коде как и в обычной арифметике, эквивалентной “+/-“ значению числа, с разрядами модулями переносом не связан.
4) Для обратного и дополнительного кода требуется только операция поразрядного сложения со сквозным переносом от младшего до знакового разряда.
5) При сложении чисел необходимо:
выравнивать их разрядные сетки по младшим разрядам, заполняя недостающие до старшего нулями;
при ручному выполнении операций сложения использовать только 2 слагаемых операнда, так как большое их число может привести к более чем одному переносу из старшего разряда в знаковый;
если при сложении двух чисел с разными знаками перенос в знаковый разряд вызовет переполнение, то единицу этого переполнения следует:
а) в обратном коде прибавить к младшему разряду полученной суммы.
б) в дополнительном коде отбросить от результата полученной суммы.
Рис. 3.2 Структура сумматора двоичных кодов.