Professional Documents
Culture Documents
АрхЕОМтаОКМ Л5 - Л6 - 2021
АрхЕОМтаОКМ Л5 - Л6 - 2021
АрхЕОМтаОКМ Л5 - Л6 - 2021
або
Код операції 1 дані 2 дані (результат)
Операция Код
+ 01
- 02
* 03
/ 04
Складання програми:
При распределении памяти необходимо поставить в соответствие адреса ячеек
памяти исходным данным и результатам программы.
Безпосередня адресація
Замість адреси команда містить безпосередньо операнд.
(+) Команда виконується швидко
(-) Безпосередній операнд може не увійти в команду
Пряма адресація
Регістрова адресація
Непряма адресація
Непряма
регістрова
адресація
В команді міститься номер регистру, в
якому зберігається адреса операнду.
(+) швидша за непряму адресацію
(-) для пересування ОП необхідно
міняти вміст регистру
Відносна
адресація
Адреса обчислюється відносно лічильника команд
Індексна
регістрова
адресація
MemWrite WE
Address ReadData
Processor Memory
WriteData
Розвиток технологій
10000
Performance
1000
Процесор
100
10
Пам’ять
1
1985 1995
1990 2000
1995 2005
2000 2010
2005 2015
2010
Registers Controlled
Більше передачі Більша пропускна by
Hardware
спроможність
Більша за обсягом Caches (SRAM) Controlled
Швидка by Software
Дешева (OS)
Memory (DRAM)
[SSD? (Flash)]
Регістри
Кэш процесора
вартість
Основна / Первинна / Головна
RAM
інші зовнішні ЗУ
CD DVD ……
Ємність
Ієрархія пам'яті
Access Bandwidth
Technology Price / GB
Time (ns) (GB/s)
DRAM $10 10 - 50 10
Main Memory
Локальність використовується для того, щоб зробити доступ до пам’яті більш швидким
Часова (або тимчасова) локальність:
Локальність у часі
Якщо до деяких даних нещодавно звертались, то з високою вірогідністю вони
скоро знадобяться знов
Як це використовують: держати нещодавно використані дані на більш високих
рівнях ієрархії пам’яті
Просторова локальність:
Локальність у просторі
Якщо до деяких даних нещодавно звертались, то з високою вірогідністю нам
знадобяться дані, що розміщені поряд
Як це використовують: при доступі до даних переносити також сусідні дані на
більш високі рівні ієрархії пам’яті
Продуктивність пам’яті
Core
Адресація комірок пам’яті при запиті від процесора:
(розмір блока складає 8 байтів)
0x10120 Miss
0x10120 (…data…)
0x10008 Miss
0x10124 Hit
0x10004 Hit
Memory
Процесор CPU
Registers
L2 Cache
L3 Cache (LLC)
ОЗУ (DRAM)
L3 Cache (LLC)
ОЗУ (DRAM)
Intel Nehalem
(3.3GHz, 4 cores, 2 threads per
core)
Організація пам'яті
32K
L1-D
L2
256K
32K
L1-I
DRAM Organization Dual-rank x8 (2Rx8) DIMM
DRAM DRAM
Bank Усі банки незалежні, але
одночасно можуть
DRAM DRAM спілкуватися лише з одним
банком
DIMM
DRAM DRAM x8 означає, що кожен DRAM
виводить 8 біт, необхідно 8
DRAM DRAM чіпів для DDRx (64-розрядні)
DRAM DRAM
Rank
Канали пам'яті
Один контролер
Контролер пам’яті
Два 64-bit канали
Контролер пам’яті
Два контролера
Два 64-bit канала
Контролер пам’яті
Process 1
Nlog
Process 2
0
Size Nlog
RAM RAM
Nphys
Process 2
Nlog
Process 1
Nlog
Nlog≠Nphys
0 0 0 Nphys
Зв’язування адрес
Програма оперує логічною адресою
Процесор використовує фізичну адресу
Nlog → Nphys
Process 2
Статичний
Nlog
RAM Дінамічний
Nphys
Process 1
Nlog
0 Nphys
Статичний розподіл: один процес в пам’яті
2GiB
+: простота, не потрібна
Nlog трансляція адрес, Nlog=Nphys
Nphys -: не підходить для
багатозадачних систем
0
Статичний розподіл:
Схема з фіксованими розділами
Пам’ять заздалегідь поділяється на
розділи, які потім не змінюються
Process 4 В кожний розділ – по одному процесу
+: простота
RAM -: кількість процесов в системі
Process 3 обмежено кількістю розділів;
розмір логічного адресного простору не
Process 2 може бути більшим за розмір фізичного
розділу;
Process 1 внутрішня фрагментація
Динамічний розподіл:
Схема зі змінними розділами
Пам’ять заздалегіть не поділяється,
Process 8 процеси розміщюються один за одним.
Process 7 Вивантажуючись, вони звільнюють
Process 6 Best Fit
розділи довільного розміру.
Process 5
Кращі стратегія розміщення:
Worst Fit
з точки зору економії пам’яті – Best Fit
RAM Process 9
з точки зору продуктивності – 1st Fit
Process 4
First Fit
Process 3 +: відсутнє обмеження на кількість
Process 2 процесів в системі
-: розмір логічного простору обмежен
Process 1 розміром вільного розділу;
зовнішня фрагментація
Динамічний розподіл:
Сторінкова пам’ять
Фізична пам’ять поділяється на фрейми
d Логічна – на сторінки того ж розміру
d
Будь-яка сторінка – в будь-який вільний фрейм
p Nlog
Nphys Nlog=p:d → f:d → Nphys
RAM +: мінімізація фрагментації; відсутні
f обмеження на розмір та кількість процесів
-: ускладнення схеми трансляції; відсутність
свідомості щодо поділу логічного простору на
сторінки і неможливість організації різних прав
доступу до різних фреймів процесу
Nlog=p:d
Динамічний розподіл
Сегментна пам’ять
Фізичний простір не розбивається на
stack
фрейми, логічний – поділяється за
d змістом на сегменти довільного розміру
d
shared data
shared code
d
stack
shared data
Фізична пам’ять поділяється на фрейми
d shared code
Логічна пам’ять поділяється на сегменти
s data
Кожний сегмент поділяється на
p code
Nlog=s:p:d
Що таке віртуальна пам’ять?
0 0
Переваги схеми
Немає небохідності в розміщенні всіх елементів процесу в основній пам’яті
Програму не обмежує обсяг фізичної пам’яті.
Спрощується розробка програм, оскільки можна задіяти великі віртуальні простори, не
піклуючись про розмір використовуваної пам'яті.
Розмір пам'яті, займаної процесом, може бути більше, ніж розмір оперативної пам'яті
З'являється можливість часткового приміщення процесу в пам'ять і гнучкого
перерозподілу пам'яті між програмами
Можна розмістити в пам'яті більше програм, що збільшує завантаження процесора і пропускну
здатність системи
Обсяг введення-виведення для вивантаження частини програми на диск може бути
менше, ніж у варіанті класичного свопінгу
Кожна програма буде працювати більш швидко.
Контроль за доступом: процес не може звернутись до адреса іншого процесу
Архітектура сторінкової віртуальної пам’яті
Сторінкове порушення (page fault) – виняткова
ситуація, яка виникає при зверненні до сторінки,
яка відсутня в даний момент у фізичній пам'яті.
Виконання команди переривається,
затребувана сторінка підкачуються з
RAM конкретного місця вторинної пам'яті у вільний
сторінковий кадр фізичної пам'яті і спроба
виконання команди повторюється
таблиця 1 рівня 3
RAM
p1
стільки рядків,
инфа сторінки в
скільки кадрів цьому кадрі
RAM
+: економія пам’яті
-: необхідність у додаткових механізмах (хеш) для
трансляції
Архітектурні принципи фон Неймана
Структурна схема обробляючої частини мікропроцесора
Структурная схема
Архітектурні принципи фон Неймана
Структурна схема обробляючої частини мікропроцесора
Шина живлення
Шина даних Системна шина (магістраль)
Шина адреси
Шина управління
Архітектурні принципи фон Неймана
Структура системної шини
Передбачений завжди,
без нього неможливі інші
режими.
Процессор –
одноособний власник.
Всі операції обміну
інформацією ініціюються
тільки процесором.
Архітектурні принципи фон Неймана
Режим IRQ — Interrupt ReQuest
Обмен по прерываниям используется тогда, когда необходима реакция МПС на какое-то внешнее
событие. Реакцию на внешнее событие можно организовать 3 путями:
• с помощью пост. программного контроля факта наступления события (метод опроса флага);
• с помощью системы прерываний;
• с помощью прямого доступа к памяти.
Збереження інформації
Процесор завершує про стан процесу
виконання поточної
інструкції
Процедура обробки
переривання
Процесор розпізнав переривання
Відновлення інформації
Процесор зберігає свій про стан процесу
стан та стан програми в
стеку
Відновлення зі стеку стану
В процесор завантажується та процесору та стану
виконується обробник переривання програми
(вектор)
Механізм обробоки переривань:
спосіб опитування
1. На CPU надходить
сигнал про переривання
CPU RAM 2. CPU генерує
INT1
опитування пристроїв
№
3. Для знайденого
? ? ! пристрою визначається
IO IO IO номер (вектор)
переривання
4. За вектором
+: простота апаратної реалізації, гнучкічть с точки зору пристроїв визначається адреса
-: тривалий цикл опитування пристроїв → CPU займається
непрофільною роботою обробника
Механізм обробки переривань:
векторний спосіб
1. На CPU надходить сигнал
про переривання
CPU № RAM 2. CPU генерує опитування
INT
1
пристроїв
3. Для знайденого
пристрою визначається
IO IO IO номер (вектор)
переривання
+: висока швидкість, обробка починається відразу
-: складність підключення однакових пристроїв, що вимагають 4. За вектором
одного і того ж вектора → необхідно додаткове конфігурування визначається адреса
обробника
Механізм обробки переривань:
векторно-опитувальний спосіб
1. Всі пристрою відносяться
до одного з 15 IRQL
CPU RAM 2. На CPU поступає сигнал про
INT0
IRQ переривання у вигляді
№ INT3
L
номера IRQL
? ! 3. CPU виконує опитування
IO IO IO пристроїв цього IRQL
IRQL 3 IRQL 5 IRQL 3 4. За найденим пристроєм
визначається номер
+: на одному рівні IRQ невелика кількість пристроїв (зазвичай від 1 до 3) → (вектор) переривання
опитування пристроїв дость коротке; при цьому зберігається гнучкість
підключення пристроїв без додаткової конфігурації 5. За вектором визначається
-: опитування, хоч і коротке, все одно необхідно адреса обробника
Механизм обработки прерываний:
контроллер прерываний
1. Всі пристрою відносяться до одного з 15
IRQL
CPU № RAM 2. КП – додатковий пристрій
INT0
IRQ
INT3
L 3. Cигнал про переривання у вигляді номера
№
INT0 IRQL поступає на КП
IRQ
INT3
L 4. КП виконує опитування пристроїв на цьому
? ! IRQL
IO IO IO 5. Знайденому пристрою визначається номер
(вектор) переривання
IRQL 3 IRQL 5 IRQL 3
6. IRQL та вектор переривання КП передає до
+: опитування коротке і не завжди необхідно; процесор CPU
взагалі не опитує, а має відразу вектор
-: потрібен додатковий пристрій - КП 7. За вектором визначається адреса обробника
Архітектурні принципи фон Неймана
Контролер преривань
S-II 5
S-I 4
H-0 3 3
S-0 1 1 1
H-1 2
H-2 3
t1 t2 t3 t4 t5 t6 t7 t8
Время
Обробник
системного
виклику
диспетчер системних
викликів read pipe
обробник обробник
системних викликів read системних викликів pipe
Архітектурні принципи фон Неймана
Режим прямого доступу до пам'яті