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

Презентация:



Advertisements
Похожие презентации
1 Компьютер изнутри 1.Основные принципыОсновные принципы 2.Персональный компьютерПерсональный компьютер.
Advertisements

1 Урок 1. Программная обработка данных на компьютере.
К.Ю. Поляков, Е.А. Ерёмин, Компьютерная арифметика § 26. Особенности представления чисел в компьютереОсобенности представления чисел в компьютере.
К. Поляков, Компьютерная арифметика 1.Особенности представления чисел в компьютереОсобенности представления чисел в компьютере.
Машинные коды чисел В компьютере все арифметические операции над числами сводятся к операциям арифметического сложения и сдвигу кодов.
Принципы Построения Компьютеров Основные принципы.
Двоичная система счисления АЛФАВИТ: 1, 10, 11, 100, 101, 110, 111, 1 000, 1 001, 1010, , 1 100, 1 101, 1 110, 1 111, ,
Магистрально-модульный принцип Шина – многожильная линия связи, доступ к которой имеют несколько устройств. Контроллер – электронная схема, управляющая.
Представление чисел в ЭВМ. 2 Способы представления чисел целые положительные числа (без знака) целые со знаком вещественные нормализованные числа.
номера разрядов 01 …n-2n-1n-1 знаковый разряд разряды модуля числа 0 – положительные числа 1 – отрицательные числа значения разряд.
Компьютер © Кошля Л.Н. учитель информатики. Компьютер (computer), автоматическое программно-управляемое устройство для выполнения любых видов работы с.
Регистры общего назначения – сумматор, регистр данных, адресный регистр и т.д. Арифметико- логическое устройство Устройство управления
Рассчитайтесь по порядку в двоичной системе счисления. Вспомните алгоритм перевода десятичных чисел в двоичную систему счисления.
Урок повторения по теме: «Сила». Задание 1 Задание 2.
К.Ю. Поляков, Е.А. Ерёмин, Компьютерная арифметика § 26. Особенности представления чисел в компьютере § 27. Хранение в памяти.
Биты и манипулирование ими. Техническая реализация триггера дорогостоящая, поэтому биты с помощью триггеров хранят в небольшой по объему памяти, но с большим.
1 ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒАЛЫМ МИНИСТРЛІГІ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН - 2 Аршалы орта мектебі Аршалынская средняя.
Двоичная (2) – 0, 1 Восьмеричная (8) – 0, 1, 2, 3, 4, 5, 6, 7 Десятичная (10) – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Шестнадцатеричная (16) – 0, 1, 2, 3, 4, 5,
Представление числовой информации в компьютере Компьютерное представление целых чисел
Назначение и устройство компьютера. Содержание Что такое компьютерЧто такое компьютер Схема устройства компьютера Данные и программы Команда Общая схема.
Транксрипт:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17 Целые беззнаковые числа Целое без знака память: 2 байта = 16 бит диапазон значений 0…65535, 0…FFFF 16 = Си: unsigned intПаскаль: word биты старший байтмладший байт 4D 16 7A = 4D7A 16 Длинное целое без знака память: 4 байта = 32 бита диапазон значений 0…FFFFFFFF 16 = Си: unsigned long intПаскаль: dword

18 «-1» – это такое число, которое при сложении с 1 даст 0. 1 байт: FF = байта:FFFF = байта:FFFFFFFF = Целые числа со знаком Сколько места требуется для хранения знака? ? Старший (знаковый) бит числа определяет его знак. Если он равен 0, число положительное, если 1, то отрицательное. не помещается в 1 байт!

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

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

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

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

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

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

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

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

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

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

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

30 Операция И – проверка битов Задача: проверить, верно ли, что все биты 2…5 – нулевые маска С 16 Си: Паскаль: if ( n & 0x3C == 0 ) printf (Биты 2-5 нулевые.); else printf (В битах 2-5 есть ненулевые.); if ( n & 0x3C == 0 ) printf (Биты 2-5 нулевые.); else printf (В битах 2-5 есть ненулевые.); if (n and $3C) = 1 writeln (Биты 2-5 нулевые.) else writeln (В битах 2-5 есть ненулевые.); if (n and $3C) = 1 writeln (Биты 2-5 нулевые.) else writeln (В битах 2-5 есть ненулевые.);

31 Операция ИЛИ Обозначения: ИЛИ,, | (Си), or (Паскаль) ИЛИ маска 5B 16 | CC 16 = DF 16 ABA или B x ИЛИ 0 = x ИЛИ 1 = x ИЛИ 0 = x ИЛИ 1 = 1 x

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

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

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

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 с байтом-шифром. Расшифровка: сделать то же самое с тем же шифром.

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

37 Логический сдвиг Какой арифметической операции равносилен логический сдвиг влево (вправо)? При каком условии? ? Логический сдвиг влево (вправо) – это быстрый способ умножения (деления без остатка) на сдвиг влево сдвиг вправо 4590

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

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

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

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

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

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

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

45 Нормализованные числа в памяти IEEE Standard for Binary Floating-Point Arithmetic (IEEE 754) 15,625 = 1 1, s = 1 e = 3 M = 1, pm Знаковый бит: 0, если s = 1 1, если s = – 1 Знаковый бит: 0, если s = 1 1, если s = – 1 Порядок со сдвигом: p = e + E (сдвиг) Порядок со сдвигом: p = e + E (сдвиг) Дробная часть мантиссы: m = M – 1 Дробная часть мантиссы: m = M – 1 Целая часть M всегда 1, поэтому не хранится в памяти! ?

46 Нормализованные числа в памяти Тип данных Размер, байт Мантисса, бит Порядок, бит Сдвиг порядка, E Диапазон модулей Точность, десятичн. цифр float single ,4· … 3,4· double ,7· … 1,7· long double extended ,4· … 3,4· Типы данных для языков: Си Паскаль

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

48 Арифметические операции сложение 1.Порядок выравнивается до большего 5,5 = 1, = 1, = 0, Мантиссы складываются 1, , , Результат нормализуется (с учетом порядка) 10, = 1, = 1000,1 2 = 8,5 5,5 + 3 = 101, = 8,5 = 1000,1 2

49 Арифметические операции вычитание 1.Порядок выравнивается до большего 10,75 = 1, ,25 = 1, = 0, Мантиссы вычитаются 1, – 0, , Результат нормализуется (с учетом порядка) 0, = 1, = 101,1 2 = 5,5 10,75 – 5,25 = 1010,11 2 – 101,01 2 = 101,1 2 = 5,5

50 Арифметические операции умножение 1.Мантиссы умножаются 7 = 1, , = 1, , , Порядки складываются: = 3 3.Результат нормализуется (с учетом порядка) 10, = 1, = = = = = 21 =

51 Арифметические операции деление 1.Мантиссы делятся 17,25 = 1, = 1, , : 1,1 2 = 0, Порядки вычитаются: 4 – 1 = 3 3.Результат нормализуется (с учетом порядка) 0, = 1, = 101,11 2 = 5,75 17,25 : 3 = 10001,01 2 : 11 2 = 5,75 = 101,11 2

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