You are on page 1of 104

АРХІТЕКТУРА КОМП’ЮТЕРА ТА

ОРГАНІЗАЦІЯ КОМП’ЮТЕРНИХ МЕРЕЖ


Лекція 1. Вступ у дисципліну
Мета курсу

 Вивчення особливостей архітектури сучасних


комп’ютерів та систем.
 Формування компетенцій, пов’язаних з
використанням теоретичних знань в галузі архітектур
обчислювальных систем, для їх практичного
застосування при розробці сучасного програмного
забезпечення.
Література. Базова:
1. Бройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем. Учебник для ВУЗ'ов. —
СПб.: Питер, 2009. — 720 с.
2. Таненбаум Э., Остин Т. Архитектура компьютера.— СПб.: Питер, 2013. — 816 с.
3. Столлингс В. Структурная организация и архитектура компьютерных систем.
— М.: Издательский дом “Вильямс”, 2002. – 896 с.
4. Олифер В.Г., Олифер Н.А., Компьютерные сети: принципы, технологии,
протоколы: Учебник для вузов. – 4-е изд. – СПб.: Питер, 2010 – 944с.: ил.
5. Кулаков Ю. А. , Луцкий Г. М. – Комп’ютерні мережі. Підручник – Київ:
“Юніор”, 2005. – 400 с.
Література. Додаткова:
1. Паттерсон, Д. Архитектура компьютера и проектирование
компьютерных систем [Текст] : пер. с англ. / Д. Паттерсон, Дж.
Хеннесси. — 4-е изд. — М.- СПб. : Питер, 2012. — 784 с.
2. Торба, А. А. Компьютерная электроника и схемотехника [Текст] :
учеб. пособие / А. А. Торба. — Х. : СМИТ, 2009. — 404 с.
3. Баула, В. Г. Архитектура ЭВМ и операционные среды [Текст] :
учебник для студ. высш. учеб. заведений / В. Г. Баула, А. Н. Томилин,
Д. Ю. Волканов. — М. : Академия, 2011. — 336 с.
4. Жмакин А.П. Архитектура ЭВМ. Сер. Учебная литература для
ВУЗ'ов. — СПб.: БХВ-Петербург, 2010. — 352 с.
Рівні подання IТ-систем та
IТ-фахівців
Суспільство Звичайні користувачі

Інформаційні системи Професіональні користувачі

Програмне забезпечення Прикладні програмісти

Апаратне забезпечення Системні програмісти


Розробники пристроїв
Електронні компоненти Схемотехніки
Фізика Логіка Технологи, фізики

Матеріальний Ідеальний
світ світ
Организация ЭВМ и систем (лекция 19.10.2009)
Побажання щодо ваших знань
ПІСЛЯ вивчення курсу …
• Принципи побудови та функціонування ЕОМ:
 Загальні принципи, що лежать в основі організації ЕОМ
 Як працює ЕОМ зсередини (як виконує команди і операції)
 Як апаратура взаємодіє з ПЗ під час розв’язання задач
 Як ЕОМ взаємодіє з навколишнім світом
• Основні характеристики мереж та методи комутації
• Основні “вузькі місця” інформаційного обігу в обчислювальних
системах
• Загальні тенденції розвитку обчислювальних систем та мереж

Организация ЭВМ и систем (лекция 19.10.2009)


Побажання щодо ваших вмінь
ПІСЛЯ вивчення курсу …
•Підбирати конфігурацію ЕОМ для роботи в конкретних умовах
• Розбиратися (в принципі, за допомогою додаткової технічної
інформації) в будь-яких питаннях організації обчислювальних
систем
• Налагоджувати параметри систем
• Не боятися “влізти” хоча б в свою ЕОМ
• Визначати несправний блок або вузел ЕОМ та замінювати його

Организация ЭВМ и систем (лекция 19.10.2009)


Вступ у дисципліну
«…Телевизор отупляет и убивает много времени.
Выключите его, и вы сохраните несколько клеток вашего
мозга. Однако будьте осторожны — отупеть можно и за
компьютером Apple»

Стивен Пол Джобс


Термінологія
 Система (від др.-греч. σύστημα — ціле, складене з частин;
Що
поєднання) — розуміють
множина елементів,під
що поняттям
знаходятся у відношеннях
та зв’язках один з одним, яка складає визначену цілісність,
єднисть. система?

Архітектура системи — принципіальна організація системи,


Що розуміють під архітектурою

яка втілена в її елементах, їх взаємовідношеннях один з одним та
зовнішнім середовищем, а також принципи, що направляють її
системи?
проектування та еволюцію.
Система
 нявність мети створення; Внешние условия
h
 взаємодія та взаємозв’язок між вход выход
x cистема y
елементами; f
 поява нової функціональності або
y=f(x ,h)
досягнення рівня продуктивності,
Механізм
що не дорівнює додатку елементів;
Пристрій
 регулярність;
 наявність механизму управління… Комплекс
Інфрастуктура

Термінологія

Для чогозабезпечує
Комп’ютер призначений комп’ютер?
розв’язання задачі

Яким чином
Комп’ютер комп’ютер
розв’язуює розв’язує
задачу за рахунок
організації задачу?
руху електронів
Ієрархія розв’язання задачі
Проблема
Алгоритм
Програма/Мова
System Software
Архітектура комп’ютера SW/HW Interface Архітектура комп’ютера
(у широкому розумінні) (фактичне розуміння)
Micro-architecture
Логіка
Пристрої
Електрони
“The purpose of computing is [to gain] insight” (Richard Hamming)
Ми здобуваємо та формуємо розуміння, вирішуючи проблеми
Як ми можемо гарантувати, що проблеми можна розв’язати за
Levelsелектронів?
допомогою of Transformation

Алгоритм – це …
… покрокова процедура, яка Проблема
гарантовано завершується там, де Алгоритм
кожен крок точно зазначений і може Програма/Мова
бути виконаний комп’ютером Runtime System ISA
(VM, OS, MM) (Instruction Set Architecture)
- Скінченність
- Визначеність ISA (Архітектура)
Мікроархітектура Інтерфейс та взємодія між SW та HW.
- Ефективність
Логіка Те, що програміст може припустити,
Існує багато алгоритмів для розв’язання
Пристрої апаратне забезпечення зобов’язано
однієї й тієї ж самої проблеми
задовільнити.
Електрони
Цифрові логічні схеми – це …
Мікрорхітектура – це … реалізація ISA «цеглинки» мікроархітектури
Складна система
 значна кількість елементов h
та зв’язків;
f2
 наявність підсистем;
x y
 наявність декількох рівнів f1 f4
функціонування; f3
 існування декількох
способів досягнення мети;
 неможливість/складність
точного опису стану елементів
та їх взаємозв’зків.
Комп’ютерні
системи

Комп’ютерна система
(computer system) – це
система, в який частина
функцій реалізована з
використанням засобів
обчислювальної
(мікропроцесорної)
техніки.
Різні платформи – різні цілі
Комп’ютерні
системи
Комп’ютерна система – це
система, яка поєднує комп'ютери
та периферійне обладнання
(принтери, сканери,
маршрутизатори тощо) в єдину
інфраструктуру.
Термінологія
 Структура системы - це сукупність окремих
елементів та їх зв’язків.
Розрізняють структури технічних, програмних та апаратно-
програмних засобів.
 Архітектура ЕОМ - це багаторівнева ієрархія
апаратно-програмних засобів, з яких будується
ЕОМ.
Термінологія
 Комп’ютер — це машина, яка може розв’язувати
Що розуміють під поняттям
задачі під час виконання послідовності команд.
комп’ютер?

Що розуміють під поняттям програма?


 Послідовність команд, за допомогою якої описано
розв’язання окремої задачі, називають програмою.
Термінологія
 Обчислювальна система - це сукупність
одного або декількох комп’ютерів (або
процесорів), програмного забезпечння та
періферійного обладнання, які організовані
для сумісного виконання інформаційно-
обчислювальних процесів.
Відмінності між ЕОМ та ОбчС:
Формальна – за кількістю обчислювальних модулів
Декілька обчислювальних модулів дозволяють організувати
паралельну обробку даних
Діалектична– Обчислювальна систма є протиставленням ЕОМ:
ЕОМ ОбчС
Обробка інформації Послідовна Паралельна
Архітектура системи Фіксована Програмується
Елементи системи Неоднорідні Однорідні
Організація комп’ютерів
Існує суттєва різниця між тим,
що зручно людині, і тим, що
можуть комп’ютери. Людина
бажає отримати X, але
комп’ютери можуть виконати
лише Y. Саме у цьому полягає
проблема…
Організація комп’ютерів
Мова програмування (programming language) — це
формалізована мова для подання програм та
алгоритмів розв’язання задач на ЕОМ. Мови
програмування є штучними — їх синтаксис та
семантика суворо визначені, вони не допускають
вільного подання змісту виразу, що є характерним для
природної мови:
СТРАТИТИ НЕМОЖНА ПОМИЛУВАТИ
Мови програмування передбачають
використання команд, які є більш зручними
для людини, ніж вбудовані машинні команди
Організація комп’ютерів
Нехай мова, якою володіє людина, це мова М1.
Вбудовані машинні команди також формують мову –
мову комп’ютера, яку ми будемо називати М0.
Комп’ютер може виконувати лише ті програми, які
записані на його машинній мові М0.

Що виявляється простішим – вивчити


людині машинну мову М0 або навчити
комп’ютер розуміти команди мови М1?
Організація комп’ютерів

Існують два підходи до


виконання команд–
трансляція та інтерпретація
Трансляція:
Передбачає заміну кожної команди М1 еквівалентним набором команд
мови М0.
У цьому випадку комп’ютер виконує нову програму, що записана мовою М0,
замість старої програми мовою М1.
Організація комп’ютерів
Інтерпретатор:
Під час створення програм мовою М0
інтерпретатор отримує в якості вхідних даних
програми, що записані мовою М1. При цьому
кожна окрема команда мови програмування М1
обробляється по черзі, після чого відразу
виконується еквівалентний їй набір команд мови
М0. Ця технологія не потребує складання нової
програми мовою М0.
Організація комп’ютерів
Транслятор та інтерпретатор: відмінності
Під час трансляції вся програма М1 «переробляєтся»
в програму на М0, програма М1 відкидається, а нова
програма на М0 завантажується в пам’ять комп’ютера
та виконується. Під час виконання згенерована
програма М0 керує роботою комп’ютера.
Під час інтерпретації кожна команда програми на М1
перекодується в М0 та відразу виконується.
Транслюєма програма при цьому не створюється.
Роботою комп’ютера керує інтерпретатор
Організація комп’ютерів
АРХІТЕКТУРА
Більшість сучасних
комп’ютерів
складається з двох и
або більш рівнів
Архітектура комп’ютера
Аппаратное обеспечение – это всего лишь
окаменевшее программное обеспечение
К.П. Ленц
Різні платформи – різні цілі
 ML accelerator: 260 mm2, 6 billion transistors,
600 GFLOPS GPU, 12 ARM 2.2 GHz CPUs.
 Два дублюючих чіпа для кращої безпеки
Аксіома
З метою отримання найвищої ефективності та продуктивності обчислень
ми повинні мати розширене уявлення про
АРХІТЕКТУРУ КОМП’ЮТЕРА
Проблема
Алгоритм
Програма/Мова
System Software Ієрархія в проектуванні:
SW/HW Interface Алгоритми розробляють для пристроїв
Micro-architecture
Спеціалізація за можливістю:
Логіка
В межах мети проектування
Пристрої
Електрони
Сучасні комп’ютери
 Архітектура сучасних комп’ютерів суттєво відрізняється від тих систем, що
були розроблені 10-20 років назад
 Як програми, так і самі технології вимагають нових архітектурних рішень

Гібридна пам’ять

Гетерогенні Постійні запам’ятовуючі пристрої


процесори та
прискорювачі
Більшість компонентів ЕОМ та їх
інтерфейси (а іноді – і вся система
загалом) на теперішній час
переглядаються
Графічні процесори загального призначення
Сучасні комп’ютери
Ви можете змінити спосіб побудови комп’ютера (тобто його
архітектуру), якщо розумієтесь як на апаратному, так і на
програмному забезпеченні (і відповідно знаєте як змінювати
кожний з цих компонентів).
Фактично це нагадує те, як людина складає пазл – вона
шукає подібні між існуючими елементами та розташовує їх
тим чи іншим способом.
Давайте подивимось на архітектуру комп’ютера з боку саме
архітектури….
Що спільного між цими зображеннями?
What Is This?
А уWhat
чомуIs This?
різниця між цими зображеннями?
А уWhat
чомуIs This?
різниця між цими зображеннями?
Критерії
What Is This?
оцінювання
• Функціональність (чи відповідає вона специфікації?)
• Надійність
• Вимоги до місця розташування
• Вартість
• Розширюваність
• Рівень комфорту користувачів
• Рівень задовільненості користувачів
• Естетика
• Безпека Як оцінити дизайн?
• … Це завжди є найважливішим питанням для
оцінки ефективності та показників якості системи
Чому для аналізу було обрано архітектуру?
What Is This?

Все починається з основних будівельних блоків та


принципів проектування архітектурних форм
В основі лежать знання про те, як ці блоки та форми
використовувати та застосовувати
Основні технології можуть змінитися (наприклад,
сталь замінить деревину) але методи використання
переваг нових технологій схожі
Методи, що використовуються при проектуванні
нових форм, залежать від застосовуваних принципів
Архітектура процесорів
Існують основні будівельні блоки та принципи проектування

Intel Core i7 IBM Cell BE IBM POWER7


AMD Barcelona 8 cores 8+1 cores 8 cores
4 cores

Nvidia Fermi Intel SCC Tilera TILE Gx


Sun Niagara II 448 “cores” 48 cores, networked 100 cores, networked
8 cores
Це стосується і обчислювальних систем
Існують основні блоки та принципи проектування
Основні «будівельні» блоки ЕОМ
Електрони
Транзистори
Логічні елементи
Комбінаційні логічні схеми
Послідовні логічні схеми

Елементи зберігання та пам’ять

Ядра
Кеш

Інтерфейси
Накопичувачі
Абстракції
Рівні трансформації створюють абстракції
Абстракція: Вищо розташованому рівню потрібно знати лише про інтерфейс
нижчого рівня, а не про те, яким чином реалізовано нижчий рівень
Наприклад, програмісту високого рівня не потрібно знати, що таке ISA і яким
чином комп'ютер виконує вказівки та команди
Абстракція покращує продуктивність
Абстракція: Не потрібно турбуватися про рішення, прийняті на базових рівнях
Наприклад, програмування на Java у порівнянні із C++, асемблер проти
двійкової системи команд тощо
Перетини абстракцій
Поки все йде добре, не треба знати про те, що відбувається
знизу (або зверху)
Програма, яку ви написали, працює повільно?
Програма, яку ви написали, працює неправильно?
Програма, яку ви написали, споживає занадто багато енергії?
Ваша система просто вимкнулася, і ви не уявляєте чому?
Хтось просто зламав вашу систему, і ви не уявляєте, як?

Що роботи, якщо Ви прагнете розробити більш ефективну та


високопродуктивну систему?
Для досягнення цієї мети необхідно зрозуміти

 як процесор працює під програмним рівнем і як рішення,


прийняті апаратним шляхом, впливають на програмне
забезпечення та програміста
 як перетинати межі різних шарів та компонентів системи,
щоб Ви могли комфортно приймати рішення щодо
проектування та оптимізації програмної системи
Системи числення
«…Чистая математика - это такой предмет, где мы не
знаем, о чем мы говорим, и не знаем, истинно ли то, что
мы говорим»

БЕРТРАН РАССЕЛ
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ

Системи числення

Система числения —
це спосіб йменування та зображення чисел за допомогою
обмеженого набору символів, які мають чітко визначені кількісні
значення

Розрізняють Позиційні та Непозиційні системи числения


Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Непозиційні системи числення


Характеристики:
• Для подання чисел використовують такі символи, як I для 1, II для 2,
III для 3, IV для 4, V для 5 тощо
• Кожен символ позначає одне і те ж значення незалежно від того, який її
номер в позиції числа
• Символи просто додаються щоб змінити цінність певного числа

Складність для використання:


• В таких системах числення дуже складно виконувати арифметичні дії
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Позиційні системи числення


Характеристики:
• Для подання чисел використовують лише декілька символів, які
називаються цифрами
• Ці символи представляють різні значення залежно від позиції, яку вони
займають за номером
Значення кожної цифри визначає:
1. Сама цифра
2. Положення цифри в числі
3. Основа системи числення
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Позиційні системи числення


m-1 m-2 1 0 -1 -2 -s
am-1P +am-2P +…+a1P +a0P + a-1P + a-2P +…+ a-sP
P - основа системи числения
m - кількість цифр в цілій частині числа
s - кількість цифр в дробовий частині чісла
Максимальне ціле число, яке можно записати
за допомогою m розрядів:
m
N max = P − 1
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Десяткова система числення


Характеристики:
• Позиційна система числення
• Має 10 символів або цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Основа = 10
• Максимальне значення однієї цифри - 9 (на одиницю менше, ніж
значення основи)
• Кожне положення цифри представляє собою певну ступінь основи (10)
• Ми використовуємо цю систему числення у повсякденному житті
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Десяткова система числення


Приклад:

258610 = (2 x 103) + (5 x 102) + (8 x 101) + (6 x 100)


= 2000 + 500 + 80 + 6
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Двійкова система числення


Характеристики:
• Позиційна система числення
• Має лише 2 символи або цифри (0 та 1). Отже, її основа = 2
• Максимальне значення однієї цифри - 1 (на одиницю менше, ніж
значення основи)
• Кожне положення цифри представляє собою певну ступінь основи (2)
• Ця система числення використовується в комп'ютерах
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Двійкова система числення


Приклад:

101012= (1x24) + (0x23) + (1x22) + (0x21) x (1x20)


= 16 + 0 + 4 + 0 + 1
= 2110
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Вісімкова система числення


Характеристики:
• Позиційна система числення
• Всього має 8 символів або цифр (0, 1, 2, 3, 4, 5, 6, 7). Її основа = 8
• Максимальне значення однієї цифри - 7 (на одиницю менше, ніж
значення основи)
• Кожне положення цифри представляє собою певну ступінь основи (8)
• Оскільки існує лише 8 цифр, то 3 бітів (23 = 8) достатньо, щоб
представити будь-яке вісімкове число у двійковому форматі
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Вісімкова система числення


Приклад:

20578 = (2 x 83) + (0 x 82) + (5 x 81) + (7 x 80)


= 1024 + 0 + 40 + 7
= 107110
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Шістнадцяткова система числення


Характеристики:
• Позиційна система числення
• Всього містить 16 символів або цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E, F). Отже, її основа = 16
• Символи A, B, C, D, E і F представляють десяткові значення чесел 10,
11, 12, 13, 14 і 15 відповідно
• Максимальне значення однієї цифри 15 (на одну менше, ніж значення
бази)
• Кожне положення цифри представляє собою певну ступінь основи (16)
• Оскільки існує лише 16 цифр, то 4 бітів (24 = 16) достатньо, щоб
представити будь-яке шістнадцяткове число у двійковому форматі
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Шістнадцяткова система числення


Приклад:

1AF16 = (1 x 162) + (A x 161) + (F x 160)


= 1 x 256 + 10 x 16 + 15 x 1
= 256 + 160 + 15
= 43110
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: в десяткову


Метод перетворення числа з іншої системи числення в десяткову:

Крок 1: Необхідно визначити стовпець (позиційне


значення) кожної цифри
Крок 2: Помножити отримані значення стовпців на
цифри у відповідних стовпцях
Крок 3: Обчисліть суму цих елементів
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: в десяткову


Приклад:

47068 = ?10
Значення
основи,
помножені
47068 = 4 x 83 + 7 x 82 + 0 x 81 + 6 x 80 на відповідні
цифри
= 4 x 512 + 7 x 64 + 0 + 6 x 1
= 2048 + 448 + 0 + 6 Сума цих значень

= 2502 10
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: із десяткової


Метод перетворення числа з десяткової системи числення в іншу:
Крок 1: Розділіть десяткове число, яке потрібно перетворити, на значення
нової бази
Крок 2: Запишіть залишок від кроку 1 як крайню праву цифру (найменшу
значущу цифру) нового базового номера
Крок 3: Розділіть частку попереднього поділу на нову основу числення
Крок 4: Запишіть залишок від кроку 3 як наступну цифру (зліва) нового
базового номера
Повторюйте кроки 3 та 4, записуючи залишки справа наліво, поки на
Кроку 3 частка не стане нульовою
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: із десяткової


Приклад:
95210 = ?8

Таким чином, 95210 = 16708


Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: з будь-якої

Метод перетворення числа з будь-якої системи числення в іншу:


Крок 1: Перетворити вихідне число на десяткове число (основа 10)
Крок 2: Перетворити отримане десяткове число на число в новій системі
числення
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: з будь-якої


Приклад: 5456 = ?4

Крок 1: Переведення з 6 в 10 систему

5456 = 5 x 62 + 4 x 61 + 5 x 60
= 5 x 36 + 4 x 6 + 5 x 1
= 180 + 24 + 5
= 20910
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: з будь-якої


Приклад: 5456 = ?4
Крок 2: Переведення 20910 в 4 систему

Отже, оскільки 20910 = 31014

То 5456 = 20910 = 31014

Tаким чином, 5456 = 31014


Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: скорочений метод


Скорочений метод перетворення двійкового числа в його
еквівалентне вісімкове значення:
Крок 1: Розділіть цифри по три в групі, починаючи справа
Крок 2: Перетворіть кожну групу з трьох двійкових цифр в одну вісімкову,
використовуючи метод перетворення двійкового числа в десяткове
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: скорочений метод


Приклад використання скороченого перетворення двійкового
числа в його еквівалентне вісімкове значення:
11010102 = ?8

Крок 1: Розділіть двійкові цифри на 3 групи, починаючи справа


001 101 010
Крок 2: Перетворити кожну групу в одну вісімкову цифру
0012 = 0 x 22 + 0 x 21 + 1 x 20 =1
1012 = 1 x 22 + 0 x 21 + 1 x 20 =5
0102 = 0 x 22 + 1 x 21 + 0 x 20 =2

Таким чином, 11010102 = 1528


Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: скорочений метод


Скорочений метод перетворення вісімкового числа в його
еквівалентне двійкове значення:
Крок 1: Перетворіть кожну вісімкову цифру в 3-значне двійкове число
(вісімкові цифри для цього перетворення можна розглядати як десяткові)
Крок 2: Об'єднайте всі отримані двійкові групи (по 3 цифри в кожній) в
єдине двійкове число
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: скорочений метод


Приклад використання скороченого методу перетворення
вісімкового числа в його еквівалентне двійкове значення:
5628 = ?2
Крок 1: Перетворити кожну вісімкову цифру в 3-значне двійкове число

58 = 1012, 68 = 1102, 28 = 0102

Крок 2: Об'єднайти всі отримані двійкові групи


5628 = 101 110 010
5 6 2
Таким чином, 5628 = 1011100102
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: скорочений метод


Скорочений метод перетворення двійкового числа в його
еквівалентне шістнадцяткове значення:
Крок 1: Розділіть цифри по чотири в групи, починаючи справа
Крок 2: Перетворіть кожну групу з чотирьох двійкових цифр в одну
шістнадцяткову, використовуючи метод перетворення двійкового числа в
десяткове
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: скорочений метод


Приклад використання скороченого методу перетворення
двійкового числа в його еквівалентне шістнадцяткове значення:
1111012 = ?16
Крок 1: Розділіть цифри по чотири в групі, починаючи справа
0011 1101

Крок 2: Перетворити кожну групу з чотирьох цифр на шістнадцяткову


00112 = 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 310 = 316
11012 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 310 = D16

У підсумку: 1111012 = 3D16


Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: скорочений метод


Скорочений метод перетворення шістнадцяткового числа в його
еквівалентне двійкове значення:
Крок 1: Перетворити кожну шістнадцяткову цифру в 4-значне двійкове
число
Крок 2: Об'єднати всі отримані двійкові групи (по 4 цифри в кожній) в
єдине двійкове число
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Перетворення чисел: скорочений метод


Приклад використання скороченого методу перетворення
шістнадцяткового числа в його еквівалентне двійкове значення:
2AB16 = ?2
Крок 1: Перетворити кожну шістнадцяткову цифру в 4-значне
двійкове число
216 = 210 = 00102
A16 = 1010 = 10102
B16 = 1110 = 10112
Крок 2: Об'єднати всі отримані двійкові групи
2AB16 = 0010 1010 1011
2 A B
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Системи числення: запис дробових чисел


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

am-1am-2… a1 a0 . a-1 a-2… a-s


І буде тлумачитися як:
m-1 m-2 1 0 -1 -2 -s
am-1P +am-2P +…+a1P +a0P + a-1P + a-2P +…+ a-sP
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Системи числення: запис дробових чисел


Приклад формування дробових чисел у двійковій системі числення:

двійкова крапка

Позиція 4 3 2 1 0 . -1 -2 -3 -4

Значення позиції 24 23 22 21 20 2-1 2-2 2-3 2-4

Представлена 16 8 4 2 1 1/ 1/ 1/ 1/
2 4 8 16
кількість
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Системи числення: запис дробових чисел


Приклад формування дробових чисел у двійковій системі числення:
двійкова крапка
Позиція 4 3 2 1 0 . -1 -2 -3 -4

Значення позиції 24 23 22 21 20 2-1 2-2 2-3 2-4

Представлена 16 8 4 2 1 1/ 1/ 1/ 1/
2 4 8 16
кількість

110.1012 = 1 x 22 + 1 x 21 + 0 x 20 + 1 x 2-1 + 0 x 2-2 + 1 x 2-3


= 4 + 2 + 0 + 0.5 + 0 + 0.125
= 6.62510
Вычислительные системы, сети и телекоммуникации
Арифметические и логические основы ЭВМ. Позиционная система счисления

Системи числення: запис дробових чисел


Приклад формування дробових чисел у вісімковій системі числення:
вісімкова крапка
Позиція 4 3 2 1 0 . -1 -2 -3 -4

Значення позиції 84 83 82 81 80 8-1 8-2 8-3 8-4

Значення числа 4096 512 16 8 1 1/ 1/ 1/ 1/


8 16 512 4096

127.548 = 1 x 82 + 2 x 81 + 7 x 80 + 5 x 8-1 + 4 x 8-2


= 64 + 16 + 7 + 5/8 + 4/64
= 87 + 0.625 + 0.0625
= 87.687510
Системи числення, які використовує ЕОМ
• Двійкова - (0,1)
• Десяткова - (0,…,9)
• Вісімкова - (0,…,7)
• Шестнадцяткова - (0,…,9,A,B,C,D,E,F)
• Двійково-десяткова - (0000,…,1001)
• Шестидесяткова - (0,...,59)
• Трійкова - (-1,0,1)
Кодування інформації
«…Теория современной информации вышла из его головы
как Афина Паллада в полном боевом облачении»

из статьи о Клоде Шенноне


З якими даними працює ЕОМ?

• Числовими даними, що складаються лише з цифр 0, 1, 2,…, 9


• Алфавітними даними, що складаються тільки з літер А, В, С,
…, Z, великі та малі літери, а також пробіл
• Буквено-цифровими даними - це рядок символів, де символ
може бути однією з букв A, B, C,…, Z, у верхньому або
нижньому регістрі, або однією з цифр 0, 1, 2,…, 9, або
спеціальним символом, серед яких + - * /,. () = тощо
З якими даними працює ЕОМ?

• Комп'ютерні коди використовуються для внутрішнього


представлення даних у комп'ютерах
• Оскільки комп'ютери використовують двійкові числа для
внутрішнього представлення даних, комп'ютерні коди
використовують двійкові схеми кодування
• У двійковому кодуванні кожен символ, що з'являється у
даних, представлений групою бітів
• Група бітів, що використовуються для представлення
символу, називається байтом
Процес передачі інформації
При
Під читанні
Підчас частексту
розмови сприймаються
перегляду
здійснюється графічнізвукових
символи
телепередачі
передача - букви. -
сприймається
сигналів
відеоінформація.
мови.

Послідовність сигналів, символів, знаків, що передається,


має назву повідомлення.
Процес передачі інформації

Спрощено процес передачі інформації можна представити наступним чином:

Джерело інформації Інформаційний канал Приймач інформації

•органи відчуття людини


той, хто передає той, хто отримує
•телефон
інформацію інформацію
•телевізор
•комп’ютер тощо
Кодування інформації

Джерело Пристрій Канал Пристрій Приймач


інформації кодування зв’язку декодування інформації

Перетворення інформації, що спрямована від джерела, у


форму, яка придатна для її передачі каналами зв’язку, має
назву кодування.
Опрацювання інформації за допомогою ЕОМ здійснюється
шляхом виконання операцій над інформацією, яка
перетворена у двійковий код.
Кодування інформації

Щоб технічний пристрій міг обробляти інформацію, її


необхідно представити (закодувати) в зрозумілому вигляді.
Для подання інформації в обчислювальній техніці
поширення набуло саме двійкове кодування.
Види інформації Двійковий код
Числова
Текстова
Графічна
Звукова
Відео
Кодування інформації

Оскільки більшість сучасних схем кодування використовують


8 біт для представлення символу, термін байт досить часто
використовується для позначення групи з 8 бітів
Найбільш поширеними комп'ютерними кодами для
представлення текстової та числової інформації в ЕОМ є
BCD, EBCDIC, ASCII та UNICODE
Кодування інформації: BCD

• BCD забезпечує двійкове кодування десяткових чисел


(Binary Coded Decimal)
• Це один з перших комп'ютерних кодів
• Він використовує 6 біт для представлення символу
• Він надає можливість записати 64 (26) різних символа
Кодування алфавітних та числових символів у BCD
BCD Code Octal BCD Code Octal BCD Code Octal
Char Char Zone Digit Char Zone Digit
Zone Digit
N 10 0101 45
A 11 0001 61 O 10 0110 46 1 00 0001 01
B 11 0010 62
P 10 0111 47
C 11 0011 63 2 00 0010 02
Q 10 1000 50
D 11 0100 64 3 00 0011 03
R 10 1001 51
E 11 0101 65 4 00 0100 04
S 01 0010 22
F 11 0110 66
T 01 0011 23 5 00 0101 05
G 11 0111 67
U 01 0100 24 6 00 0110 06
H 11 1000 70
I 11 1001 71 V 01 0101 25 7 00 0111 07
J 10 0001 41 W 01 0110 26
8 00 1000 10
K 10 0010 42 X 01 0111 27
9 00 1001 11
L 10 0011 43 Y 01 1000 30
M 10 0100 44 Z 01 1001 31 0 00 1010 12
Кодування інформації: BCD (приклад)
Записати слово BASE в двійковій нотації за допомогою BCD-кодування:
B = 110010 (в двійковій нотації BCD )
A = 110001 (в двійковій нотації BCD )
S = 010010 (в двійковій нотації BCD )
E = 110101 (в двійковій нотації BCD )

Таким чином результат кодування має наступний вигляд:

110010 110001 010010 110101


B A S E
Кодування інформації: BCD (приклад)
Записати слово DIGIT у вісімковій нотації за допомогою BCD-кодування:
D = 64 (у вісімковій нотації BCD)
I = 71 (у вісімковій нотації BCD)
G = 67 (у вісімковій нотації BCD)
I = 71 (у вісімковій нотації BCD)
T = 23 (у вісімковій нотації BCD)

Таким чином результат кодування має наступний вигляд:

64 71 67 71 23
D I G I T
Кодування інформації: EBCDIC

EBCDIC є скороченням - розширений двійково-десятковий код


обміну
(Extended Binary Coded Decimal Interchange Code)
• Він використовує 8 біт для представлення символів
• Він може представляти 256 (28) різних символів
Кодування алфавітних та числових символів у EBCDIC
EBCDIC Code
Hex EBCDIC Code
Char Digit Zone Hex
Char Digit Zone
A 1100 0001 C1
N 1101 0101 D5
B 1100 0010 C2
O 1101 0110 D6
C 1100 0011 C3
P 1101 0111 D7
D 1100 0100 C4
Q 1101 1000 D8
E 1100 0101 C5
R 1101 1001 D9
F 1100 0110 C6
S 1110 0010 E2
G 1100 0111 C7
T 1110 0011 E3
H 1100 1000 C8 U 1110 0100 E4
I 1100 1001 C9 V 1110 0101 E5
J 1101 0001 D1 W 1110 0110 E6
K 1101 0010 D2 X 1110 0111 E7
L 1101 0011 D3 Y 1110 1000 E8
M 1101 0100 D4 Z 1110 1001 E9
Кодування алфавітних та числових символів у EBCDIC
EBCDIC Code Hexadecimal
Character Digit Zone Equivalent
0 1111 0000 F0
1 1111 0001 F1
2 1111 0010 F2
3 1111 0011 F3
4 1111 0100 F4
5 1111 0101 F5
6 1111 0110 F6
7 1111 0111 F7
8 1111 1000 F8
9 1111 1001 F9
Кодування інформації: EBCDIC
В EBCDIC застосовуються зональні десяткові числа:
• Зональні десяткові числа використовуються для представлення в EBCDIC
знакових числових значень (позитивних, негативних або беззнакових)
• Знаковий індикатор (C для плюс, D для мінус та F для беззнакового)
використовується в позиції зони крайньої правої цифри
• Зони для всіх інших цифр позначаються як F (значення зони для числових
символів у EBCDIC)
• У зонованому форматі є лише одна цифра на байт
Numeric Value EBCDIC Sign Indicator
345 F3F4F5 F for unsigned
+345 F3F4C5 C for positive
-345 F3F4D5 D for negative
Кодування інформації: ASCII

ASCII є скороченням від Американский Стандарт Кодування для


Обміну Інформацією (American Standard Code for
Information Interchange)
• Код ASCII існує двох типів - ASCII-7 та ASCII-8
• ASCII-7 використовує 7 бітів для представлення 128 (27) різних символів
• ASCII-8 використовує 8 бітів для представлення 256 (28) різних символів
• Перші 128 символів в кодових таблицях ASCII-7 та ASCII-8 є однаковими
Кодування алфавітних та числових символів у ASCII
ASCII-7 / ASCII-8 Hexadecimal
Character
Zone Digit Equivalent
0 0011 0000 30
1 0011 0001 31
2 0011 0010 32
3 0011 0011 33
4 0011 0100 34
5 0011 0101 35
6 0011 0110 36
7 0011 0111 37
8 0011 1000 38
9 0011 1001 39
Кодування алфавітних та числових символів у ASCII
ASCII-7 / ASCII-8 Hexadecimal ASCII-7 / ASCII-8 Hexadecimal
Character
Equivalent Character
Zone Digit Zone Digit Equivalent
A 0100 0001 41 N 0100 1110 4E
B 0100 0010 42 O 0100 1111 4F
C 0100 0011 43 P 0101 0000 50
D 0100 0100 44 Q 0101 0001 51
E 0100 0101 45 R 0101 0010 52
F 0100 0110 46 S 0101 0011 53
G 0100 0111 47 T 0101 0100 54
H 0100 1000 48 U 0101 0101 55
I 0100 1001 49 V 0101 0110 56
J 0100 1010 4A W 0101 0111 57
K 0100 1011 4B X 0101 1000 58
L 0100 1100 4C Y 0101 1001 59
M 0100 1101 4D Z 0101 1010 5A
Не удается отобразить рисунок.
Таблиця ASCII
Кодування інформації: ASCII (приклад)
Записати слово SKY у кодуванні ASCII-8. Скільки байтів буде для
цього використано?

S = 01010011 (у двійковій нотації ASCII-8)


K = 01001011 (у двійковій нотації ASCII-8)
Y = 01011001 (у двійковій нотації ASCII-8)
Таким чином результат кодування має наступний вигляд:
01010011 01001011 01011001
S K Y
Оскільки для кожного символу в ASCII-8 для представлення потрібен один байт, а в
слові SKY - 3 символи, то для його представлення буде використано 3 байти
Кодування інформації: Unicode
Чому з’явився Unicode:
• Жодна система кодування не підтримує всі мови
• Конфлікт різних систем кодування
Особливості Unicode:
• Забезпечує послідовний спосіб кодування багатомовного простого тексту
• Визначає коди символів, що використовуються у всіх основних мовах світу
• Визначає коди спеціальних символів, математичних символів, технічних
символів та діакритичних знаків
Кодування інформації: Unicode
Особливості Unicode:
• Можливість кодування до мільйона символів
• Призначає кожному символу унікальне числове значення та ім’я
• Резервує частину кодового простору для приватного використання
• Є спадкоємцем прости та послідовності ASCII - навіть відповідні символи
мають однаковий код
• Вказує алгоритм подання тексту з двонаправленою поведінкою
Форми кодування
• UTF-8, UTF-16, UTF-32
Кодування інформації: Unicode
Упорядкування послідовності символів:
• Послідовність зіставлення визначає призначений порядок серед символів,
які використовуються комп'ютером
• Послідовність порівняння може змінюватись залежно від типу
комп’ютерного коду, який використовується конкретним комп’ютером
• У більшості комп’ютерів послідовності зіставлення дотримуються таких
правил:
• Букви розглядаються в алфавітному порядку (A <B <C ... <Z)
• Цифри розглядаються в цифровому порядку (0 <1 <2 ... <9)
Кодування інформації: код Шеннона
МАМА_МИЛА_РАМУ – 14 символів
Символ Кількість Символ Кількість
М 4 Л 1
А 4 Р 1
_ 2 У 1
И 1

Символ Код Символ Код


М 00 Л 1100
А 01 Р 1101
_ 100 У 1110
И 101

00 01 00 01 100 00 101 1100 01 100 1101 01 00 1110 - 5 байт

You might also like