'

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

Понравилась презентация – покажи это...





Слайд 0

1 Компьютер изнутри © К.Ю. Поляков, 2007 Основные принципы Персональный компьютер Хранение целых чисел Битовые операции Вещественные числа


Слайд 1

2 Компьютер изнутри © К.Ю. Поляков, 2007 Тема 1. Основные принципы


Слайд 2

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


Слайд 3

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


Слайд 4

5 Структура памяти Память состоит из нумерованных ячеек. Линейная структура (адрес ячейки – одно число). Байт – это наименьшая ячейка памяти, имеющая собственный адрес (4, 6, 7, 8, 12 бит). На современных компьютерах 1 байт = 8 бит. Слово = 2 байта Двойное слово = 4 байта


Слайд 5

6 Архитектура компьютера Архитектура – принципы действия и взаимосвязи основных устройств компьютера (процессора, ОЗУ, внешних устройств). Принстонская архитектура (фон Неймана): процессор ОЗУ (программа и данные) устройства вывода устройства ввода прямой доступ к памяти Гарвардская архитектура – программы и данные хранятся в разных областях памяти. прямой доступ к памяти скорость (одновременно читаем команду и данные) нужно больше контактов у процессора


Слайд 6

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


Слайд 7

8 Выполнение программы Счетчик команд (IP = Instruction Pointer) – регистр, в котором хранится адрес следующей команды. IP Команда, расположенная по этому адресу, передается в УУ. Если это не команда перехода, регистр IP увеличивается на длину команды. УУ расшифровывает адреса операндов. Операнды загружаются в АЛУ. УУ дает команду АЛУ на выполнение операции. Результат записывается по нужному адресу. Шаги 1-5 повторяются до получения команды «стоп». AB3D16 по адресу AB3D16


Слайд 8

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


Слайд 9

10 Компьютер изнутри © К.Ю. Поляков, 2007 Тема 2. Персональный компьютер


Слайд 10

11 Персональный компьютер (ПК) ПК – это компьютер, предназначенный для личного использования (доступная цена, размеры, характеристики). 1977 Apple-II 1981 IBM PC (personal computer) ЕС-1841


Слайд 11

12 Принцип открытой архитектуры на материнской плате расположены только узлы, которые обрабатывают информацию (процессор и вспомогательные микросхемы, память) схемы, управляющие другими устройствами (монитором и т.д.) – это отдельные платы, которые вставляются в слоты расширения схема стыковки новых устройств с компьютером общедоступна (стандарт) конкуренция, удешевление устройств производители могут изготавливать новые совместимые устройства пользователь может собирать ПК «из кубиков»


Слайд 12

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


Слайд 13

14 Компьютер изнутри © К.Ю. Поляков, 2007 Тема 3. Хранение целых чисел


Слайд 14

15 Целые беззнаковые числа Беззнаковые данные – не могут быть отрицательными. Байт (символ) память: 1 байт = 8 бит диапазон значений 0…255, 0…FF16 = 28 - 1 Си: unsigned char Паскаль: byte биты младший старший старший полубайт старшая цифра младший полубайт младшая цифра 416 E16 10011102 = 4E16 = ‘N’


Слайд 15

16 Примеры 78 = 115 =


Слайд 16

17 Целые беззнаковые числа Целое без знака память: 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


Слайд 17

18 «-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 байт!


Слайд 18

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


Слайд 19

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


Слайд 20

21 Пример (– a) = – 123, сетка 8 бит – 123 =


Слайд 21

22 Целые числа со знаком Байт (символ) со знаком память: 1 байт = 8 бит диапазон значений: max min – 128 = – 27 … 127 = 28 – 1 Си: char Паскаль: – можно работать с отрицательными числами уменьшился диапазон положительных чисел 127 – 128


Слайд 22

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


Слайд 23

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


Слайд 24

25 Ошибки Перенос: при сложении больших (по модулю) отрицательных чисел получается положительное (перенос за границы разрядной сетки). + – 128 0 – 128 1 в специальный бит переноса


Слайд 25

26 Компьютер изнутри © К.Ю. Поляков, 2007 Тема 4. Битовые операции


Слайд 26

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


Слайд 27

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


Слайд 28

29 Операция И – обнуление битов Маска: обнуляются все биты, которые в маске равны «0». Задача: обнулить 1, 3 и 5 биты числа, оставив остальные без изменения. маска D16 516 Си: Паскаль: int n; n = n & 0xD5; var n: integer; n := n and $D5;


Слайд 29

30 Операция И – проверка битов Задача: проверить, верно ли, что все биты 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 есть ненулевые.’);


Слайд 30

31 Операция ИЛИ Обозначения: ИЛИ, ?, | (Си), or (Паскаль) ИЛИ маска 5B16 | CC16 = DF16 x ИЛИ 0 = x ИЛИ 1 = 1 x


Слайд 31

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


Слайд 32

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


Слайд 33

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


Слайд 34

35 «Исключающее ИЛИ» – шифровка (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 с байтом-шифром. Расшифровка: сделать то же самое с тем же шифром.


Слайд 35

36 Логический сдвиг 1 Влево: 0 0 1 Вправо: 0 в бит переноса Си: Паскаль: n = n << 1; n = n >> 1; n := n shl 1; n := n shr 1; в бит переноса shift left shift right


Слайд 36

37 Логический сдвиг Логический сдвиг влево (вправо) – это быстрый способ умножения (деления без остатка) на 2. 1011012 10110102 сдвиг влево сдвиг вправо 45 90


Слайд 37

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


Слайд 38

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


Слайд 39

40 Пример Задача: в целой переменной n (32 бита) закодирована информация о цвете пикселя в RGB: Выделить в переменные R, G, B составляющие цвета. Вариант 1: Обнулить все биты, кроме G. Маска для выделения G: 0000FF0016 Сдвинуть вправо так, чтобы число G передвинулось в младший байт. Си: G = (n & 0xFF00) >> 8; Паскаль: G := (n and $FF00) shr 8;


Слайд 40

41 Пример Вариант 2: Сдвинуть вправо так, чтобы число G передвинулось в младший байт. Обнулить все биты, кроме G. Маска для выделения G: 000000FF16 Си: G = (n >> 8) & 0xFF; Паскаль: G := (n shr 8) and $FF;


Слайд 41

42 Пример Си: R = B = Паскаль: R := B :=


Слайд 42

43 Компьютер изнутри © К.Ю. Поляков, 2007 Тема 5. Вещественные числа


Слайд 43

44 Нормализация двоичных чисел X = s ? M ? 2e s – знак (1 или -1) M – мантисса, e – порядок M = 0 или 1 ? M < 2 15,625 = 1111,1012 = 1?1,1111012 ?23 знак порядок мантисса 3,375 = Пример:


Слайд 44

45 Нормализованные числа в памяти 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


Слайд 45

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


Слайд 46

47 Вещественные числа в памяти 15,625 = 1,1111012 ?23 4 байта = 32 бита p = e+127 = 130 =100000102 m = M – 1 = 0,1111012 3,375 =


Слайд 47

48 Арифметические операции сложение Порядок выравнивается до большего 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


Слайд 48

49 Арифметические операции вычитание Порядок выравнивается до большего 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


Слайд 49

50 Арифметические операции умножение Мантиссы умножаются 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


Слайд 50

51 Арифметические операции деление Мантиссы делятся 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


Слайд 51

52 Конец фильма


×

HTML:





Ссылка: