Разделы презентаций


Компьютер Изнутри

Содержание

08/16/2019ОпределенияКомпьютер (computer) – это программируемое электронное устройство для обработки числовых и символьных данных.аналоговые компьютеры – складывают и умножают аналоговые (непрерывные) сигналыцифровые компьютеры – работают с цифровыми (дискретными) данными.Hardware – аппаратное обеспечение,

Слайды и текст этой презентации

Слайд 108/16/2019
Компьютер изнутри

Основные принципы
Персональный компьютер
Хранение целых чисел
Битовые операции
Вещественные числа

08/16/2019Компьютер изнутриОсновные принципыПерсональный компьютерХранение целых чиселБитовые операцииВещественные числа

Слайд 208/16/2019
Определения
Компьютер (computer) – это программируемое электронное устройство для обработки числовых

и символьных данных.
аналоговые компьютеры – складывают и умножают аналоговые (непрерывные)

сигналы
цифровые компьютеры – работают с цифровыми (дискретными) данными.
Hardware – аппаратное обеспечение, «железо».
Software – программное обеспечение, «софт».
08/16/2019ОпределенияКомпьютер (computer) – это программируемое электронное устройство для обработки числовых и символьных данных.аналоговые компьютеры – складывают и

Слайд 308/16/2019
Определения
Программа – это последовательность команд, которые должен выполнить компьютер.
Команда –

это описание операции (1…4 байта):
код команды
операнды – исходные данные (числа)

или их адреса
результат (куда записать).
Типы команд:
безадресные (1 байт) – увеличить регистр AX на 1 регистр – ячейка быстродействующей памяти, расположенная в процессоре
одноадресные (2 байта) AX ← AX + 2
двухадресные (3 байта) X ← X + 2
трехадресные (4 байта) Y ← X + 2

inc AX

add AX, 2

08/16/2019ОпределенияПрограмма – это последовательность команд, которые должен выполнить компьютер.Команда – это описание операции (1…4 байта):код командыоперанды –

Слайд 408/16/2019
Структура памяти
Память состоит из нумерованных ячеек.
Линейная структура (адрес ячейки –

одно число).
Байт – это наименьшая ячейка памяти, имеющая

собственный адрес (4, 6, 7, 8, 12 бит).
На современных компьютерах 1 байт = 8 бит.

Слово = 2 байта

Двойное слово = 4 байта

08/16/2019Структура памятиПамять состоит из нумерованных ячеек.Линейная структура (адрес ячейки – одно число).Байт – это наименьшая ячейка памяти,

Слайд 508/16/2019
Архитектура компьютера
Архитектура – принципы действия и взаимосвязи основных устройств компьютера

(процессора, ОЗУ, внешних устройств).
Принстонская архитектура (фон Неймана):
процессор
ОЗУ (программа и данные)
устройства вывода
устройства

ввода





прямой доступ к памяти


Гарвардская архитектура – программы и данные хранятся в разных областях памяти.



прямой доступ к памяти

скорость (одновременно читаем команду и данные)

нужно больше контактов у процессора

08/16/2019Архитектура компьютераАрхитектура – принципы действия и взаимосвязи основных устройств компьютера (процессора, ОЗУ, внешних устройств).Принстонская архитектура (фон Неймана):процессорОЗУ

Слайд 608/16/2019
Принципы фон Неймана
«Предварительный доклад о машине EDVAC» (1945)
Принцип двоичного кодирования:

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

набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Принцип однородности памяти: программы и данные хранятся в одной и той же памяти.
Принцип адресности: память состоит из пронумерованных ячеек; процессору в любой момент времени доступна любая ячейка.
08/16/2019Принципы фон Неймана«Предварительный доклад о машине EDVAC» (1945)Принцип двоичного кодирования: вся 	информация кодируется в двоичном виде.Принцип программного

Слайд 708/16/2019
Выполнение программы
Счетчик команд (IP = Instruction Pointer) – регистр, в

котором хранится адрес следующей команды.
IP
Команда, расположенная по этому

адресу, передается в УУ. Если это не команда перехода, регистр IP увеличивается на длину команды.
УУ расшифровывает адреса операндов.
Операнды загружаются в АЛУ.
УУ дает команду АЛУ на выполнение операции.
Результат записывается по нужному адресу.
Шаги 1-5 повторяются до получения команды «стоп».

AB3D16

по адресу AB3D16

08/16/2019Выполнение программыСчетчик команд (IP = Instruction Pointer) – регистр, в котором хранится адрес следующей команды.		  IPКоманда,

Слайд 808/16/2019
Архитектуры компьютеров
фон Неймана
многомашинная (независимые задачи)
многопроцессорная (части одной задачи, по разным программам)
параллельные процессоры (части

одной задачи, по одной программе)

08/16/2019Архитектуры компьютеровфон Нейманамногомашинная (независимые задачи)многопроцессорная (части одной задачи,  по разным программам)параллельные процессоры (части одной задачи,

Слайд 908/16/2019
Персональный компьютер (ПК)
ПК – это компьютер, предназначенный для личного использования

(доступная цена, размеры, характеристики).
1977 Apple-II
1981 IBM PC
(personal computer)
ЕС-1841

08/16/2019Персональный компьютер (ПК)ПК – это компьютер, предназначенный для личного использования (доступная цена, размеры, характеристики).1977 Apple-II1981 IBM PC

Слайд 1008/16/2019
Принцип открытой архитектуры
на материнской плате расположены только узлы, которые обрабатывают

информацию (процессор и вспомогательные микросхемы, память)
схемы, управляющие другими устройствами (монитором

и т.д.) – это отдельные платы, которые вставляются в слоты расширения
схема стыковки новых устройств с компьютером общедоступна (стандарт)

конкуренция, удешевление устройств
производители могут изготавливать новые совместимые устройства
пользователь может собирать ПК «из кубиков»

08/16/2019Принцип открытой архитектурына материнской плате расположены только узлы, которые обрабатывают информацию (процессор и вспомогательные микросхемы, память)схемы, управляющие

Слайд 1108/16/2019
Взаимосвязь блоков ПК
процессор
память

видеокарта



сетевая карта

контроллеры дисководов




Шина – многожильная линия связи, доступ к которой

имеют несколько устройств.
Контроллер – электронная схема, управляющая внешним устройством по

сигналам процессора.


контроллеры

08/16/2019Взаимосвязь блоков ПКпроцессорпамятьвидеокартасетевая картаконтроллеры дисководовШина – многожильная линия связи, доступ к которой имеют несколько устройств.Контроллер – электронная

Слайд 1208/16/2019
Целые беззнаковые числа
Беззнаковые данные – не могут быть отрицательными.
Байт (символ)
память:

1 байт = 8 бит
диапазон значений 0…255,

0…FF16 = 28 - 1
Си: unsigned char Паскаль: byte

биты

младший

старший

старший полубайт
старшая цифра

младший полубайт
младшая цифра

416

E16

10011102 = 4E16 = ‘N’

08/16/2019Целые беззнаковые числаБеззнаковые данные – не могут быть отрицательными.Байт (символ)	память: 1 байт = 8 бит диапазон значений

Слайд 1308/16/2019
Примеры
78 =
115 =

08/16/2019Примеры78 = 115 =

Слайд 1408/16/2019
Целые беззнаковые числа
Целое без знака
память: 2 байта = 16 бит

диапазон значений 0…65535, 0…FFFF16 = 216-1
Си: unsigned int Паскаль: word
биты
старший

байт

младший байт

4D16

7A16

1001101011110102 = 4D7A16

Длинное целое без знака
память: 4 байта = 32 бита диапазон значений 0…FFFFFFFF16 = 232-1
Си: unsigned long int Паскаль: dword

08/16/2019Целые беззнаковые числаЦелое без знака	память: 2 байта = 16 бит  диапазон значений 0…65535,  0…FFFF16 =

Слайд 1508/16/2019



«-1» – это такое число, которое при сложении с 1

даст 0.
1 байт: FF16 + 1 = 1

0 0 16
2 байта: FFFF16 + 1 = 1 0 0 0 0 16
4 байта: FFFFFFFF16 + 1 = 1 0 0 0 0 0 0 0 0 16

Целые числа со знаком

Старший (знаковый) бит числа определяет его знак. Если он равен 0, число положительное, если 1, то отрицательное.

не помещается в 1 байт!

08/16/2019«-1» – это такое число, которое при сложении с 1 даст 0.  1 байт:  		FF16

Слайд 1608/16/2019
Двоичный дополнительный код
Задача: представить отрицательное число (–a) в двоичном дополнительном

коде.
Решение:
Перевести число a–1 в двоичную систему.
Записать результат в разрядную сетку

с нужным числом разрядов.
Заменить все «0» на «1» и наоборот (инверсия).
Пример: (– a) = – 78, сетка 8 бит
a – 1 = 77 = 10011012


= – 78

знаковый бит

08/16/2019Двоичный дополнительный кодЗадача: представить отрицательное число (–a) в двоичном дополнительном коде.Решение:Перевести число a–1 в двоичную систему.Записать результат

Слайд 1708/16/2019
Двоичный дополнительный код
Проверка: 78 + (– 78) = ?

78 =
78 =
+

08/16/2019Двоичный дополнительный кодПроверка: 78 + (– 78) = ? – 78 =78 =+

Слайд 1808/16/2019
Пример
(– a) = – 123, сетка 8 бит
– 123 =

08/16/2019Пример(– a) = – 123, сетка 8 бит– 123 =

Слайд 1908/16/2019
Целые числа со знаком
Байт (символ) со знаком
память: 1 байт =

8 бит диапазон значений:
max
min

– 128 = – 27 … 127 = 28 – 1
Си: char Паскаль: –

можно работать с отрицательными числами

уменьшился диапазон положительных чисел

127

– 128

08/16/2019Целые числа со знакомБайт (символ) со знаком	память: 1 байт = 8 бит диапазон значений:  max

Слайд 2008/16/2019
Целые числа со знаком
Слово со знаком
память: 2 байта = 16

бит
диапазон значений
– 32768 … 32767



Си: int Паскаль:

integer
Двойное слово со знаком
память – 4 байта диапазон значений
– 231 … 231-1
Си: long int Паскаль: longint
08/16/2019Целые числа со знакомСлово со знаком	память: 2 байта = 16 бит диапазон значений 			 – 32768 …

Слайд 2108/16/2019
Ошибки
Переполнение разрядной сетки: в результате сложения больших положительных чисел получается

отрицательное (перенос в знаковый бит).
+
64
64
– 128

08/16/2019ОшибкиПереполнение разрядной сетки: в результате сложения больших положительных чисел получается отрицательное (перенос в знаковый бит).+6464– 128

Слайд 2208/16/2019
Ошибки
Перенос: при сложении больших (по модулю) отрицательных чисел получается положительное

(перенос за границы разрядной сетки).
+
– 128
0
– 128
1
в специальный бит

переноса
08/16/2019ОшибкиПеренос: при сложении больших (по модулю) отрицательных чисел получается положительное (перенос за границы разрядной сетки).+– 1280 –

Слайд 2308/16/2019
Инверсия (операция НЕ)
Инверсия – это замена всех «0» на «1»

и наоборот.

Си:
Паскаль:
int n;
n = ~n;
var n: integer;
n := not n;

08/16/2019Инверсия (операция НЕ)Инверсия – это замена всех «0» на «1» и наоборот.Си:Паскаль:int n;n = ~n;var n: integer;n

Слайд 2408/16/2019
Операция И
Обозначения: И, ∧, & (Си), and (Паскаль)




&
маска
5B16

& CC16 = 4816
x & 0 =
x &

1 =

0

x

08/16/2019Операция ИОбозначения:    И, ∧, & (Си), and (Паскаль)&маска5B16 & CC16 = 4816x & 0

Слайд 2508/16/2019
Операция И – обнуление битов
Маска: обнуляются все биты, которые в

маске равны «0».
Задача: обнулить 1, 3 и 5 биты числа,

оставив остальные без изменения.

маска

D16

516

Си:

Паскаль:

int n;
n = n & 0xD5;

var n: integer;
n := n and $D5;

08/16/2019Операция И – обнуление битовМаска: обнуляются все биты, которые в маске равны «0».Задача: обнулить 1, 3 и

Слайд 2608/16/2019
Операция И – проверка битов
Задача: проверить, верно ли, что все

биты 2…5 – нулевые.
маска
316
С16
Си:
Паскаль:
if ( n & 0x3C == 0

)
printf (“Биты 2-5 нулевые.”);
else printf (“В битах 2-5 есть ненулевые.”);

if (n and $3C) = 1
writeln (‘Биты 2-5 нулевые.’)
else writeln (‘В битах 2-5 есть ненулевые.’);

08/16/2019Операция И – проверка битовЗадача: проверить, верно ли, что все биты 2…5 – нулевые.маска316С16Си:Паскаль:if ( n &

Слайд 2708/16/2019
Операция ИЛИ
Обозначения: ИЛИ, ∨, | (Си), or (Паскаль)




ИЛИ
маска
5B16 | CC16

= DF16
x ИЛИ 0 =
x ИЛИ 1 =


1

x

08/16/2019Операция ИЛИОбозначения:  ИЛИ, ∨, | (Си), or (Паскаль)ИЛИмаска5B16 | CC16 = DF16x ИЛИ 0 =

Слайд 2808/16/2019
Операция ИЛИ – установка битов в 1
Задача: установить все биты

2…5 равными 1, не меняя остальные.
маска
316
С16
Си:
Паскаль:
n = n | 0x3C;
n

:= n or $3C;
08/16/2019Операция ИЛИ – установка битов в 1Задача: установить все биты 2…5 равными 1, не меняя остальные.маска316С16Си:Паскаль:n =

Слайд 2908/16/2019
Операция «исключающее ИЛИ»
Обозначения: ⊕, ^ (Си), xor (Паскаль)




XOR
маска
5B16

^ CC16 = 9716
x XOR 0 =


x XOR 1 =

НЕ x

x

08/16/2019Операция «исключающее ИЛИ»Обозначения:    ⊕, ^ (Си), xor (Паскаль)XORмаска5B16 ^ CC16 = 9716x XOR 0

Слайд 3008/16/2019
«Исключающее ИЛИ» – инверсия битов
Задача: выполнить инверсию для битов 2…5,

не меняя остальные.
маска
316
С16
Си:
Паскаль:
n = n ^ 0x3C;
n := n xor

$3C;
08/16/2019«Исключающее ИЛИ» – инверсия битовЗадача: выполнить инверсию для битов 2…5, не меняя остальные.маска316С16Си:Паскаль:n = n ^ 0x3C;n

Слайд 3108/16/2019
«Исключающее ИЛИ» – шифровка
(0 xor 0) xor 0 =
(1 xor

0) xor 0 =
0
1
(0 xor 1) xor 1 =
(1 xor

1) xor 1 =

0

1

(X xor Y) xor Y = X

код (шифр)

Шифровка: выполнить для каждого байта текста операцию XOR с байтом-шифром.
Расшифровка: сделать то же самое с тем же шифром.

08/16/2019«Исключающее ИЛИ» – шифровка(0 xor 0) xor 0 =(1 xor 0) xor 0 =01(0 xor 1) xor

Слайд 3208/16/2019
Логический сдвиг
1
Влево:
0
0
1
Вправо:
0
в бит
переноса
Си:
Паскаль:
n = n

n >> 1;
n := n shl 1;
n := n shr

1;

в бит
переноса

shift left

shift right

08/16/2019Логический сдвиг1Влево: 001Вправо: 0в битпереносаСи:Паскаль:n = n > 1;n := n shl 1;n := n shr 1;в

Слайд 3308/16/2019
Логический сдвиг
Логический сдвиг влево (вправо) – это быстрый способ умножения

(деления без остатка) на 2.
1011012
10110102
сдвиг влево
сдвиг вправо
45
90

08/16/2019Логический сдвигЛогический сдвиг влево (вправо) – это быстрый способ умножения (деления без остатка) на 2.101101210110102сдвиг влевосдвиг вправо4590

Слайд 3408/16/2019
Циклический сдвиг
Влево:
Вправо:


Си, Паскаль: –
только через Ассемблер

08/16/2019Циклический сдвигВлево: Вправо: Си, Паскаль: –только через Ассемблер

Слайд 3508/16/2019
Арифметический сдвиг
1
Влево (= логическому):
0
0
0
Вправо (знаковый бит не меняется!):
Си:
Паскаль:


n = -6;
n = n >> 1;
– 6
– 3

08/16/2019Арифметический сдвиг1Влево (= логическому): 000Вправо (знаковый бит не меняется!): Си:Паскаль: –n = -6;n = n >> 1;–

Слайд 3608/16/2019
Пример
Задача: в целой переменной n (32 бита) закодирована информация о

цвете пикселя в RGB:
Выделить в переменные R, G, B составляющие

цвета.
Вариант 1:
Обнулить все биты, кроме G. Маска для выделения G: 0000FF0016
Сдвинуть вправо так, чтобы число G передвинулось в младший байт.

Си:

G = (n & 0xFF00) >> 8;

Паскаль:

G := (n and $FF00) shr 8;

08/16/2019ПримерЗадача: в целой переменной n (32 бита) закодирована  	информация о цвете пикселя в RGB:

Слайд 3708/16/2019
Пример


Вариант 2:
Сдвинуть вправо так, чтобы число G передвинулось в младший

байт.
Обнулить все биты, кроме G. Маска для выделения G: 000000FF16
Си:
G

= (n >> 8) & 0xFF;

Паскаль:

G := (n shr 8) and $FF;

08/16/2019ПримерВариант 2:Сдвинуть вправо так, чтобы число G передвинулось в младший байт.Обнулить все биты, кроме G.  Маска

Слайд 3808/16/2019
Пример
Си:
R =
B =
Паскаль:
R :=
B :=

08/16/2019ПримерСи:R =B = Паскаль:R :=B :=

Слайд 3908/16/2019
Нормализация двоичных чисел
X = s ⋅ M ⋅ 2e
s –

знак (1 или -1)
M – мантисса,
e – порядок
M = 0

или 1 ≤ M < 2

15,625 =

1111,1012 =

1⋅1,1111012 ⋅23

знак

порядок




мантисса

3,375 =

Пример:

08/16/2019Нормализация двоичных чиселX = s ⋅ M ⋅ 2es – знак (1 или -1)M – мантисса,e –

Слайд 4008/16/2019
Нормализованные числа в памяти
IEEE Standard for Binary Floating-Point Arithmetic (IEEE

754)
15,625 = 1⋅1,1111012 ⋅23
s = 1 e

= 3 M = 1,1111012

Знаковый бит:
0, если s = 1
1, если s = – 1

Порядок со сдвигом:
p = e + E (сдвиг)

Дробная часть мантиссы:
m = M – 1



08/16/2019Нормализованные числа в памятиIEEE Standard for Binary Floating-Point Arithmetic (IEEE 754) 15,625 = 1⋅1,1111012 ⋅23s = 1

Слайд 4108/16/2019
Нормализованные числа в памяти
Типы данных для языков: Си
Паскаль

08/16/2019Нормализованные числа в памятиТипы данных для языков: Си				 Паскаль

Слайд 4208/16/2019
Вещественные числа в памяти
15,625 = 1,1111012 ⋅23
4 байта = 32

бита
p = e+127 = 130
=100000102



m = M

– 1 = 0,1111012

3,375 =


08/16/2019Вещественные числа в памяти15,625 = 1,1111012 ⋅234 байта = 32 битаp = e+127 = 130

Слайд 4308/16/2019
Арифметические операции
сложение
Порядок выравнивается до большего
5,5 = 1,0112⋅22
3 =

1,12 ⋅21 = 0,112 ⋅22
Мантиссы складываются

1,0112 + 0,1102
10,0012
Результат нормализуется (с учетом порядка)
10,0012 ⋅22 = 1,00012 ⋅23 = 1000,12 = 8,5

5,5 + 3 = 101,12 + 112 = 8,5 = 1000,12

08/16/2019Арифметические операциисложениеПорядок выравнивается до большего5,5 = 1,0112⋅22  3 = 1,12 ⋅21 = 0,112 ⋅22 Мантиссы складываются

Слайд 4408/16/2019
Арифметические операции
вычитание
Порядок выравнивается до большего
10,75 = 1,010112⋅23
5,25 = 1,01012

⋅22 = 0,101012 ⋅23
Мантиссы вычитаются
1,010112

0,101012
0,101102
Результат нормализуется (с учетом порядка)
0,10112 ⋅23 = 1,0112 ⋅22 = 101,12 = 5,5

10,75 – 5,25 = 1010,112 – 101,012 = 101,12 = 5,5

08/16/2019Арифметические операциивычитаниеПорядок выравнивается до большего10,75 = 1,010112⋅23 5,25 = 1,01012 ⋅22 = 0,101012 ⋅23 Мантиссы вычитаются

Слайд 4508/16/2019
Арифметические операции
умножение
Мантиссы умножаются
7 = 1,112 ⋅ 22

1,1

12
3 = 1,12 ⋅ 21 × 1,12
1 1 12
1 1 12
1 0 ,1 0 12
Порядки складываются: 2 + 1 = 3
Результат нормализуется (с учетом порядка)
10,1012 ⋅23 = 1,01012 ⋅24 = 101012 = 21

7 ⋅ 3 = 1112 ⋅ 112 = 1112 ⋅ 112 = 21 = 101012

08/16/2019Арифметические операцииумножениеМантиссы умножаются  7 = 1,112 ⋅ 22

Слайд 4608/16/2019
Арифметические операции
деление
Мантиссы делятся
17,25 = 1,0001012 ⋅ 24

3 = 1,12 ⋅ 21
1,0001012 :

1,12 = 0,101112
Порядки вычитаются: 4 – 1 = 3
Результат нормализуется (с учетом порядка)
0,101112 ⋅23 = 1,01112 ⋅22 = 101,112 = 5,75

17,25 : 3 = 10001,012 : 112 = 5,75 = 101,112

08/16/2019Арифметические операцииделениеМантиссы делятся 17,25 = 1,0001012 ⋅ 24     3 = 1,12 ⋅ 21

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика