Головна

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

Степовою пам'яттю, або стеком, називають пам'ять, в якій реалізовано принцип: останній увійшов - перший вийшов {LIFO - Last 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?



Принципи організації кеш-пам'яті | Розділ 4 Кардіоревматологія дитячого віку. 1 страница

Розділ 4 | Класифікація систем пам'яті | Побудова модулів постійного запам'ятовувального пристрою | Побудова модулів оперативного запам'ятовувального пристрою статичного типу |

© um.co.ua - учбові матеріали та реферати