Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розділ 4 .doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
429.06 Кб
Скачать

4.6. Принципи організації стекової пам'яті

Степовою пам'яттю, або стеком, називають пам'ять, в якій реалізовано принцип: останній увійшов — перший вийшов {LIFOLast Input First Output), тобто дані, записані останніми, зчитуються першими. У МПС стекова пам'ять вико­ристовується для викликів підпрограм, в тому числі і вкладе­них, та оброблення переривань.

За способом реалізації розрізняють апаратний і апаратно-програмний стеки.

Апаратний стек — сукупність регістрів, зв'язок між якими організовано так, що під час записування і зчитування даних вміст стеку автоматично зсувається. Принцип роботи апаратного 8-рівневого стеку наведено на рис. 4.15.

Під час записування слова 1 у стек воно розміщується у першій вільній комірці пам'яті (у першому регістрі) — вершині стеку. Наступне слово зсуває попереднє на одну комірку вгору, займає його місце і т. д. Запис слова 9 при­зводить до переповнення стеку і втрати слова 1. Зчитуван­ня слів зі стеку здійснюється у зворотному порядку, тобто спочатку зчитується слово 9, що записано останнім. Зчиту­вання відбувається у зворотному порядку, наприклад, зчитування слова 6 неможливе, доки не будуть зчитані слова 7, 8,9.

Рис. 4.15. Принцип роботи апаратного стеку

Рис. 4.16. Принцип роботи апаратно-програмного стеку

Інформаційна ємність апаратного стеку визначається як N п, де кількість n-розрядних слів дорівнює кількості регістрів, яка може бути кілька десятків. Апаратні стеки, що застосовуються у РIС- процесорах, мають 2, 8 або 16 регістрів (N = 2,8,16), в яких розміщуються 12-, 14-, 16-розрядні сло­ва (п = 12,14,16). Основною перевагою апаратного стеку є висока швидкодія, а недоліком — обмежена інформаційна ємність.

Апаратно-програмний стек реалізується через вико­ристання частини ОЗП статичного типу та спеціального ре­гістра SP (Stack Pointer покажчик стеку), який містить адресу останньої зайнятої комірки стеку. Принцип роботи апаратно-програмного стеку для МП мікропроцесорів 80  86 показано на рис. 4.16. В апаратно-програмному стеку під час запису і зчитування фізичного зсуву даних не відбуваєть­ся. Зсув даних буває після зміни значення регістра SP. На початку програми в регістр SP заносять адресу вершини стеку. Після кожної операції запису (зчитування) вміст регістра SP змінюється. Для МП 80  86 одночасно можна записувати у стек або зчиту­вати з нього двобайтові сло­ва, тому значення регістра SP змінюється на два.

Рис. 4.17. Робота стеку під час виклику підпрограм

Під час запису в стек зна­чення регістра SP зменшу­ється на два (стек «зростає» в область малих адрес), а під час зчитування зі стеку — збільшується на два. Отже, по­кажчик стеку SP завжди містить адресу комірки, до якої відбулося останнє звернення. У деяких командах, наприклад, у командах викликів підпрограм CALL, переривань ІNT, по­вернень з підпрограм RET, звернення до стеку здійснюється автоматично. Під час виклику підпрограми (рис. 4.17) у стеку запам'ятовується адреса команди, наступної після виклику команди ADD, тобто вміст програмного лічильника PC запа­м'ятовується у верхній незайнятій комірці стеку, а покажчик стеку зменшується на два.

Після повернення з підпрограми за командою RET вміст верхньої комірки стеку перезаписується у програмний лічиль­ник PC, покажчик стеку SP збільшується на два. Після цьо­го починає виконуватися команда ADD. Крім команд CALL, INT і RET, для роботи зі стеком використовуються також команди PUSH і POP, призначені для тимчасового запам'я­товування у стек умісту регістрів і відновлення, тобто пере­силання інформації зі стеку в регістри. У МП Intel, починаючи з МП i286, існують команди PUSHA і РОРА (PUSH All і POP All), призначені для тимчасового запам'ятовування у стеку і відновлення вмісту всіх регістрів МП. До апаратно-програмного стеку можна звернутися також як до ОЗП з довільною вибіркою. У МП i8086 для цього використову­ють непряму адресацію за допомогою регістра ВР. Тому в стек можна записати значення параметрів підпрограм перед їх безпосереднім викликом.

Використання стекової пам'яті дає змогу підвищити швид­кодію МПС, зменшуючи тривалість однієї з найповільніших операцій — звернення до зовнішньої пам'яті.

Контрольні запитання

1. Дайте визначення і наведіть приклади енергозалежних та енергонезалежних ЗП.

2. Які є типи систем пам'яті?

3. Порівняйте за швидкодією типи систем пам'яті.

4. Визначте інформаційну ємність у бітах та кількість ліній шини даних для ЗП, позначених: а) 1024 8; б) 4048  16.

5. Як визначити питому вартість ЗП?

6. Для чого призначений ПЗП?

7. Як виконано елементи пам'яті в ПЗП різних типів?

8. Дайте визначення комірки пам'яті.

9. Назвіть типи ПЗП.

10. Як здійснюється занесення інформації у ВІС ПЗП, програмовані маскою?

11. Як заноситься інформація у ВІС однократно програмованого ПЗП?

12. Як здійснюється занесення та стирання інформації у ПЗП EPROM?

13. Як здійснюється запис інформації у флеш-пам'ять і її стирання?

14. Наведіть приклад нарощування ємності ПЗП удвічі?

15. Поясніть поняття банку пам'яті.

16. Наведіть приклад побудови модуля ПЗП у 16-розрядній МПС на базі 8-розрядних ВІС ПЗП.

17. Що таке елемент пам'яті статичного ОЗП?

18. Що таке одно- та багаторозрядна організації матриці накопичувача ОЗП?

19. Назвіть основні параметри ОЗП статичного типу.

20. Як співвідносяться значення потужності у режимах читання-запису інформації та режимі зберігання інформації?

21. Як здійснюється нарощування розрядності у модулі статичного ОЗП?

22. Які особливості має побудова модулів оперативної пам'яті для МПС на базі 16-розрядних процесорів?

23. Які сигнали використовуються для вибірки банків пам'яті ОЗП?

24. Назвіть чотири можливих випадки звернення до пам'яті у 16-роз­рядних процесорах?

25. Що таке маршрутизування байта?

26. Які рекомендації можна дати щодо розміщення даних у стеку?

27. Що такс елемент пам'яті динамічного ОЗП?

28. Назвіть основні параметри ОЗП динамічного типу.

29. Порівняйте параметри ОЗП статичного і динамічного типів. Назвіть недоліки і переваги ОЗП динамічного типу.

30. Схарактеризуйте способи адресування ОЗП динамічного типу.

31. Що таке режим регенерації пам'яті?

32. Які функції виконує контролер динамічної пам'яті?

33. Поясніть призначення сигналів і .

34. Наведіть визначення і призначення кеш-пам'яті.

35. У чому полягає принцип часової локальності?

36. У чому полягає принцип просторової локальності?

37. Поясніть принцип дії кеш-пам'яті з прямим відображенням.

38. Поясніть принцип дії повністю асоціативної кеш-пам'яті.

39. Поясніть принцип дії множинної асоціативної кеш-пам'яті.

40. Порівняйте два види кеш-пам'яті з прямим відображенням та пов­ністю асоціативну.

41. Порівняйте повністю асоціативну кеш-пам'ять з множинною асо­ціативною кеш-пам'яттю.

42. Як відновлюється інформація в ОЗП за способом наскрізного за­пису?

43. Як відновлюється інформація в ОЗП за способом зворотного запи­су?

44. Дайте визначення стокової пам'яті.

45. Яке призначення стекової пам'яті?

46. Поясніть принцип дії апаратного стеку.

47. Поясніть принцип дії апаратно-програмного стеку.

48. Дайте порівняльну характеристику апаратного та апаратно-програм­ного стеків.

49. Поясніть призначення регістра SP.

50. Які операції виконує процесор за командами CALL, RET, PUSH, POP, PUSHA, POPA?