Виды вычислительной техники

 


Дискретная вычислительная техника ( ЦВМ, ЭВМ). Дискретный способ представления информации.


Аналоговая вычислительная техника.

Непрерывный способ представления информации.


 

Мы будем изучать только дискретные вычислительные машины.

 

ЦВМ,

ЭВМ

 


Аппаратные средства


Программные средства


 

Поколения ЭВМ.

 

I-ое поколение - начало 50-х годов: элементная база – электронная лампа.

II-ое поколение - 60-ые годы: элементная база – электронные транзисторы. III-е поколение - 70-ые годы: элементная база – интегральные микросхемы.

IV-ое поколение - 80-ые годы: элементная база – большие интегральные схемы (десятки тысяч транзисторов на кристалле).

V-ое поколение: элементная база – сверхбольшие интегральные схемы (высокопроизводительные системы).


Основные принципы построения ЭВМ.

 

Ядро Внешние устройства

 

 

Ввод/вывод

ОП

Внешние запоминающие устройства(ВЗУ)

ЦП

 

 

Машинные программы, исходные данные будут расположены в ОП(оперативной части). Сами команды будут выполняться и обрабатываться в ЦП(центральном процессоре). Устройства ввода/вывода : клавиатура, мышь, принтер.

ВЗУ : винчестер, CD, дискеты.

 

I. Связь ядра и внешних устройств:

 

1) канальный ввод/вывод:

 

ОП Канал Внешние устройства

 

ЦП

 

Данные из Внешних устройств через канал поступают в ОП

 

2) общая шина:

 

 

ЦП ОП Ввод Вывод

 

 

Общая шина


3) радиальный ввод/вывод:

 

ОП

 

 

Контроллеры

ЦП

 

Внешние устройства

 

Для больших потоков информации вводится контроллер. Он управляет потоком информации.

 

II. Способ построения ядра:

 

 

1) мультипроцессорная вычислительная система:

С одной ОП работает несколько ЦП.

 

Ядро количество ЦП =n ( n<10)

 

 

ЦП ЦП

..….

 

ОП

 

 

Внешние устройства


2) многомашинные комплексы:

 

ЭВМ 1 ЭВМ N

 

ЦП ЦП

 

 

ОП ОП

 

     
Устройства ввода/вывода   Устройства ввода/вывода
 
         

 

3) векторные системы:

 

 

а11+ b11 а12+ b12 а1n+ b1n

ЦП11 ЦП12 ЦП1n

 

 

………

 

.

.
. аnn+ bnn

ЦПn1 ЦПn1 ЦПnn

 

 

4)спецпроцессоры.

Ориентированы на решение конкретных специальных задач.


Л2

Системы счисления, используемые в ЭВМ.

 

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

Различают позиционные и непозиционные системы счисления.

В позиционных системах счисления - значение цифры зависит от места расположения в числе (

арабская система счисления): 3 30 300 .

В непозиционных системах счисления значение цифры не зависит от места расположения в числе (римская система счисления): IV VI .

В ЭВМ используют только позиционные системы счисления.

Основанием системы счисления q – называется количество цифр, используемое в данной системе счисления. Например для десятичной системы счисления q=10: 0,…,9.

В ЭВМ используются системы счисления с основаниями:

q=2: 0,1;

q=8: 0,…,7 ;

q=16: 0,…,9,A,B,C,D,E,F.

 

Таблица соответствия чисел (от 0 до 15) , представленных в двоичной, десятичной,

шестнадцатеричной системах счисления.

 

q=10
q=2
q=16 A B C D E F

 

Где q – основание системы счисления.

 

Представление чисел в позиционной системе счисления.

 

Число в позиционной системе счисления можно представить в виде полинома:

 

X= аnqn + аn-1 qn-1+...+ а1q1 + а0q0 + а-1q-1 +...+ а-mq-m

 

где n + 1 - число цифр в целой части числа;

m – число цифр в дробной части числа;

q – основание системы счисления ;

аi – любая из цифр для заданной системы счисления.

 

Пример:

Число 753,24 в десятичной системе счисления можно представить в виде:

7*102 + 5*101 + 3*100 + 2*10-1 + 4*10-2

 

 

Перевод чисел из двоичной(восьмеричной, шестнадцатеричной) системысчисления в десятичную систему счисления.

 

Для перевода необходимо представить число в виде полинома, в котором все числа выражены в десятичной системе счисления и выполнить действия в десятичной системе счисления.


Пример:

4 3 2 1 0

( 1 0 1 1 0 )2 – ( ? )10

(10110)2 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20 = 16 + 4 = (22)10

 

 

Перевод чисел из десятичной системы счисления в двоичную(восьмеричную,

шестнадцатеричную) систему счисления.

 

(Целые числа и дробные переводятся по разным правилам)

 

Перевод целых чисел:

Нужно разделить исходное число на основание новой системы счисления. Полученное частное

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

 

Пример: (22)10 – ( ? )2 :

 

22 |2

22 |11 |2

0| 10 |5 |2

1|4 |2 |2

1 |2 |1

(22)10 – (10110 )2 .

 

(22)10 – ( ? )16 :

 

22 |16

16 | 1

 

(22)10 – (16)16 . (29)10 – ( ? )16 :

29 |16

16 | 1

D

 

(29)10 – ( 1D )16 .

 

Перевод дробной части (дробь должна быть правильной):

Чтобы перевести правильную дробь необходимо исходную дробь умножать на основание новой

системы счисления. Далее, в полученном произведении выделяются целая и дробная части. Дробная часть полученного произведения вновь умножается на основание новой системы счисления. Целые части полученных произведений будут соответствовать очередным разрядам числа в новой системе счисления (в прямом порядке их получения)


Пример: (0,35)10 – ( ? )2

 

0,35*2=0,7;

0,7*2=1,4;

0,4*2=0,8;

0,8*2=1,6;

0,6*2=1,2;…

(0,35)10 – (0,01011 )2

 

(0,35)10 – ( ? )16

 

0.35*16=5.6

0.6*16=9.6

0.6*16=9.6

(0,35)10 – (0,59…9 )16

 

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

 

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

 

 

( 1 6 , 5 9 9 )16

 

0001 0110 0101 1001 1001

 

(16,599)16 – (10110,010110011001)2

 

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

 

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

 

 

0001 0110 , 0101 1000

 

1 8

6 5

(10110,01011000)2 – (16,58)16


Л3

Прямой, обратный, дополнительный коды.

Мы будем изучать эти коды, т.к. в ЭВМ нет операции вычитания, и она заменяется

операцией сложения с обратным кодом.

 

Прямым кодом целого двоичного числаХ будет называться число, образованное по формуле:

 


0Xn-2

X=


… X1X0


, X 0


1Xn-2 … X1X0 ,


X<0


 

 

Прямым кодом дробного двоичного числаX будет число, образованное по формуле:

 

0,X-1 … X-(n-1) , X 0

X=

, X<0
1,X-1 … X-(n-1) X 0

 

Обратным кодом целого двоичного числаX называется число, образованное по формуле:

 

 


 

0Xn-2 … X1X0 , X=

1Xn-2 … X1X0 ,


X 0

 

X<0


 

Обратным кодом дробного двоичного числаX называется число, образованное по формуле:

 

 


 

0,X-1 … X-(n-1) , X=

1,X-1 … X-(n-1) ,


X 0

 

X<0


 

 

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

 

0 . 101

Знаковый разряд Значащие разряды

1 . 101

 

A = 0.0100 +4 прямой код;

А = 1.1011 -4 обратный код;

Для положительных чисел прямой и обратный коды совпадают.

 

Правило: Чтобы произвести суммирование(алгебраическое) кодов чисел с использованием обратных кодов необходимо все положительные числа представить в прямом коде, а отрицательные в обратном и просуммировать коды чисел, включая знаковые разряды.

Если возникает единица переноса из знакового разряда, то она прибавляется к младшему разряду.

Если в знаковом разряде получается 0, то это означает, что результат положительный и представлен в прямом коде.


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

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

 

Пример:

А=5, В=4

0.0101 +5 прямой код 0.0100 +4 прямой код

1.1010 -5 обратный код 1.1011 -4 обратный код

 

А+В

+0.0101 +5 прямой код

0.0100 +4 прямой код

0.1001 +9 прямой код

 

А-В

+0.0101 +5 прямой код

1.1011 -4 обратный код

1 0.0000

+1

0.0001 прямой код

Знаковый разряд результата равен 0. Из этого следует, что результат положительный и представлен в прямом коде.

В-А

0.0100 +4 прямой код

+1.1010 -5 обратный код

1.1110

Знаковый разряд результата равен 1. Следовательно, результат получился отрицательным и представлен в обратном коде. Прямой код результата равен:

1.0001 прямой код

 

Дополнительный код.

 

Дополнительным кодом целого двоичного числаназывается число, образованное по формуле:

 

0Xn-2 … X1X0 , X 0

X=

1Xn-2 … X1X0+1 , X 0

 

Дополнительный код дробного двоичного числа называется число, образованное по формуле:

 


 

0,X-1 … X-(n-1) , X=

1,X-1 … X-(n-1)+2


X 0

 

, X 0


-(n-1)


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

Это применимо как для целых так и для дробных чисел.

 

Пример:

А=5, В=4

 

1.1010 -5 обратный код 1.1011 -4 обратный код

+ 1 + 1

1.1011 -5 дополнительный код 1.1100 -4 дополнительный код

 

Для положительных чисел прямой и дополнительный коды совпадают.

 

Правило: Чтобы выполнить алгебраическое суммирование с использованием дополнительного кода, положительные числа представляются в прямом коде, отрицательные – в дополнительном, и производится суммирование кодов чисел включая знаковые разряды.

При возникновении 1 переноса из знакового разряда – она отбрасывается.

Если в знаковом разряде 1, значит результат отрицательный и представлен в дополнительном коде. Чтобы получить прямой код результата необходимо в знаковом разряде оставить 1, значащие разряды проинвертировать, к младшему разряду прибавить 1.

 

Пример:

А-В

1.1100 -4 дополнительный код

+0.0101 +5 прямой код

0.0001 +1 прямой код

 

Если образовался “0” в знаковом разряде, то число получилось положительным и представлено в прямом коде, а если “1”, то это число отрицательное и представлено в дополнительном коде. Пример:

В-А

0.0100 +4 прямой код

+1.1011 -5 дополнительный код

1.1111

Знаковый разряд результата равен 1. Из этого следует, что результат получился отрицательным и представлен в дополнительном коде. Прямой код результата равен:

+ 1.0000

1.0001 -1 прямой код

 

Переполнение разрядной сетки.

 

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


В ЭВМ такая ситуация отслеживается блоком прерывания и в случае переполнения программа снимается с обработки.

Признаки переполнения(способы определения переполнения):

 

1) По наличию и отсутствию переноса в знаковый и из знакового разряда:

переполнение возникает в том случае, если возникает единица переноса в знаковый разряд и отсутствует единица переноса из знакового разряда. Либо имеется единица переноса из знакового разряда и отсутствует единица переноса в знаковый разряд.

Переполнение отсутствует, если существуют единицы переноса и в знаковый разряд и из знакового разряда или обе единицы переноса отсутствуют.

 

Пример: А=5, В=4  
  0.101 +5 прямой код   0.100   +4 прямой код
1.010 -5 обратный код 1.011 -4 обратный код

А+В

+
0.101 +5 прямой код

+ 0.100 +4 прямой код

1.001 переполнение!

Имеется один перенос в знаковый разряд, перенос из знакового разряда отсутствует.

 

-А-В

1

+1.010 -5 обратный код

1.011 -4 обратный код

0.101 переполнение!

Имеется один перенос из знакового разряда, перенос в знаковый разряд отсутствует.

2) Модифицированное кодирование:

При модифицированном кодировании под знак числа отводится два или более разрядов.

Комбинация 00соответствует положительному числу. 11– отрицательное число.

 

 

10переполнение

 


Пример:


 

 

А+В


 

+ 00.101 +5 прямой модифицированный код

00.100 +4 прямой модифицированный код

01.001 переполнение!

Комбинация 01 в знаковом разряде соответствует переполнению разрядной сетки.

 

(-А)+(-В)

 

+11.010 -5 обратный модифицированный код

11.011 -4 обратный модифицированный код

10.101 переполнение!

Комбинация 10 в знаковом разряде соответствует переполнению разрядной сетки.


Пример для дополнительного модифицированного кода:

А-В

 

00.101 +5 прямой модифицированный код

+11.100 -4 дополнительный модифицированный код

00.001 +1 прямой код

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

 

 

В-А

 

00.100 +4 прямой модифицированный код

+11.011 -5 дополнительный модифицированный код

11.111

В знаковых разрядах результата комбинация 11.Из этого следует, что переполнение разрядной сетки отсутствует и результат отрицательный ,представлен в дополнительном коде.

 

+ 11.000

1

11.001 -1 прямой код

 

(-А)+(-В)

 

+11.011 -5 дополнительный модифицированный код

11.100 - 4 дополнительный модифицированный код

10.111 переполнение!

В знаковых разрядах результата комбинация 10,что соответствует переполнению разрядной сетки.


Л4

Формы представления чисел в ЭВМ.

 

Любая информация(числа, команды и т.д.) представляются в ЭВМ в виде двоичных кодов фиксированной или переменной длины. Отдельные элементы двоичного кода, имеющие значение 0 или 1, называют разрядами или битами. В ЭВМ слова часто разбивают на части, называемые слогами или байтами. В современных ЭВМ широко используется байт, содержащий 8 бит(разрядов).

Двоичный разряд представляется в ЭВМ некоторым техническим устройством, например триггером, двум различным состояниям которого приписывают значения 0 и 1. Набор соответствующего количества таких устройств служит для представления многоразрядного двоичного числа(слова).

В ЭВМ применяют две формы представления чисел:

фиксированной точкой

-с плавающей точкой.

 

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

При представлении чисел с фиксированной точкой положение точки фиксируется в

определённом месте относительно разрядов числа.

 

 

     
   
       

 

знаковый разряд n-1 возможное положение точки

0 – «+»

1 – «-»

 

1. Если точка фиксируется перед старшим разрядом числа, то число по модулю < 1.

2. Если точка фиксируется после младшего разряда числа, то число по модулю >

1.(только целые числа)

В современных ЭВМ для представления числе используется 2 способ.

 

Пример.

n=16 разрядов;

число «+5»;

 

 

В современных ЭВМ отрицательные числа хранятся

-в дополнительном коде;

-в обратном коде.

 

Дополнительный код -5:

 

 

Форма представления чисел с плавающей точкой.

Представление чисел с плавающей точкой в общем случае имеет вид:

px


x M x q


 

,где


Mx- мантисса,

Px- порядок числа,

q- основание системы исчисления.

Мантисса - нормализованная правильная дробь.

Нормализованная правильная дробь-первая цифра после точки(первая значащая цифра)

отлична от 0.

Порядок Px, который может быть положительным или отрицательным числом, определяет положение точки в числе x.

Порядок отвечает за диапазон.

Мантисса отвечает за точность.

Арифметические действия над числами с плавающей точкой требуют выполнения помимо операций над мантиссами определённых операций над порядками(сравнение, вычитание и др.). Для упрощения операций над порядками их сводят к действиям над целыми положительными числами, применяя смещённый порядок Pсм.

L


Pсм Px


2 ,где L – число разрядов, отводимых под порядок.


L разрядов под порядок

 

………………………………


 

знаковый знаковый разряд разряд числа порядка Px

0 – «+»

1 – «-»

 

Пример. n=32 разряда; L=6;

 

(22,35)10=(16,59…9)16

Mx=(0,1659…9)16; Px=2; L=6; Pсм=Px+2L=Px+(40)16=(42)16;

 

7


мантисса числа


 

 

1 6 5 9 9

смещённый порядок мантисса

Для отрицательных числе и мантисса и порядок всегда представляются в прямом коде,

кроме знака.

 

Логические функции.

Поскольку в ЭВМ используется двоичная система исчисления, то для описания и

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


Функция называется логической(булевой) – если она, как и её переменная, может принимать два значения «0» и «1».

Логические функции используются при построении логических схем.

Логические схемы представляют собой конечные автоматы. Автомат может быть без памяти – выход может быть определён, когда определён вход (комбинационная схема), либо конечный автомат с памятью(в основе лежат запоминающие элементы). (для одного разряда –триггер).

 

Логические функции могут быть заданы таблично:

 

Функция НЕ – функция инверсии.

a x

 

НЕ x= a

 

a x

 

 

Функция ИЛИ – функция дизъюнкции.

ИЛИ x=a b «or»

 

a

x

 

1 b

 

 

Функция И – функция конъюнкции.

a b x

 

a b x

 

И x=a b

 

a

x

 

&

b

 

 

Любую функцию можно организовать с помощью 3 элементов: «И», «ИЛИ», «НЕ».

a b x

 

Функция И - НЕ

 

a

x

 

&

b


Функция ИЛИ - НЕ

a b x

 

ИЛИ - НЕ x=a b

 

a

x

 

1 b

 

 

Пример.

Построить логическую схему.

 

Z=a b a c a

&

ab

 

b 1 z

 

 

&

 

ac c

 

Z=a*b a*c b

& b c & z

 

c

a


Л5

Триггеры.

 

Триггер-устройство, которое может находиться в одном из двух устойчивых состояний: 0 или 1. Состояние триггера распознаётся по его выходу. Триггер предназначен для хранения 1 бита(разряда) информации.

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

Переход триггера в новое состояние определяется таблицей перехода. Основные типы триггеров:

RS, D, T, JK.

 


 

 

Таблица переходов.


1.RS – синхронизируемый триггер.


Q(t)-до синхрон-ии t Q(t+1)-после синх-ии t+1
R S q(t+1)
q(t)
запрещена

 

S Q - выход

 

R

T Q - инверсный выход

C

 

S С – сигнал синхронизации

 

R

 

 


 

 

Таблица переходов.


2.D – триггер задержки.


t t+1
D q(t+1)

 

S Q

 

D

C T Q

 

R


 

 

Таблица переходов.


3.T – триггер со счётным входом.


 

t t+1
q(t) T q(t+1)

 

S Q

 

D

C T Q

 

R

 

 


 

 

Таблица переходов.


4.JK – триггер универсальный.


t t+1
J K  
q(t)
q(t)

 

S Q

 

K

 

C T Q

J

 

R

 

 

Регистры.

 

Регистр-устройство, предназначенное для хранения, приёма, выдачи машинных слов, а также рядов вспомогательных операций- например, сдвиг.

 

Регистр состоит из триггеров, число которых равно числу разрядов в машинном слове.


Приём и передача информации из регистра в регистр.

 

 

PB

 

 

PA

 

 

Запись информации в с одного регистра на другой регистр.

 

Возьмём регистры, построенные на D-триггерах. Необходимо информацию с регистра A

переписать на регистр B.

 


S 1 Q

D 1

C Т

R Q

 

S 1 1

D

C Т

R


S 1

D 1

C Т

R

 

 

S 1 1

D

C Т

R


S 0

D 0

C Т

R

 

 

S 0 0

D

C Т

R


 

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

Для RS триггера выход Q соединяется с выходом S, а Q c R. Тогда при наличии сигнала синхронизации число с одного регистра будет записано на другой.