МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Тема 1.3. Пам`ять МПЛекція №5. Стекова пам`ять. Види стеків та їх організація. Стековою пам'яттю або стеком називають пам'ять, у якій реалізовано принцип: останній увійшов - перший вийшов (LIFO - Last Input First Output),тобто дані, записані останніми зчитуються першими. У МПС стекова пам'ять використовується для викликів підпрограм, у тому числі і вкладених, та оброблення переривань. Стекова пам'ять реалізує безадресне завдання оператора і є ефективним елементом сучасної архітектури ЕОМ і знаходить широке застосування в мікропроцесорах персональних комп'ютерів і в ряді суперкомп'ютерів. Широке застосування стекова пам'ять знаходить при обробці вкладених структур даних.У стекової пам'яті комірки утворюють одномірний масив , в якому сусідні комірки пов'язані одна з одною розрядними ланцюгами передачі слів. За способом реалізації розрізняють апаратний і апаратно-програмний стеки. Апаратний стек являє собою сукупність регістрів, зв'язок між якими організовано таким чином, що під час записування і зчитування даних уміст стека автоматично зсувається. Принцип роботи апаратного восьми рівневого стека ілюструє рис. 1.
Рис. 1. Принцип роботи апаратного стека Під час записування слова 1 у стек воно розміщується у першій вільній комірці пам'яті (у першому регістрі) - вершині стека. Наступне слово зсуває попереднє на одну комірку вгору, займає його місце і т. д. Запис слова 9 призводить до переповнення стека і втрати слова 1. Зчитування слів зі стека здійснюється у зворотному порядку, тобто спочатку зчитується слово 9, записане останнім. Зчитування відбувається у зворотному порядку, наприклад, зчитування слова 6 не можливе, поки не будуть зчитані слова 7, 8 та 9. Інформаційна ємність апаратного стека визначається як N×n,де кількість n- розрядних слів N дорівнює кількості регістрів, яка може складати декілька десятків. Апаратні стеки, застосовувані у РІС-процесорах, мають 2, 8 або 16 регістрів (N = 2, 8, 16), у яких розміщуються 12-, 14- або 16-розрядні слова (n = 12, 14, 16). Основною перевагою апаратного стека є висока швидкодія, а недоліком - обмежена інформаційна ємність. Апаратно-програмний стек реалізується через використання частини ОЗП статичного типу та спеціального регістра SP (Stack Pointer- вказівник стека), який містить адресу останньої зайнятої комірки стека. Принцип роботи апаратно-програмного стека для мікропроцесорів і80x86 показано на рис. 2. У апаратно-програмному стеку фізичного зсуву даних під час запису і зчитування не відбувається. Зсув даних буває за зміною значення SP.На початку програми в регістр SPзаносять адресу вершини стека. Після кожної операції запису (зчитування) вміст регістра SPзмінюється. Для МП 80x86 одночасно можна записувати у стек або зчитувати з нього двобайтові слова, тому SPзмінюється на два.
Рис. 2. Принцип роботи апаратно-програмного стека Під час запису у стек значення SPзменшується на два (стек «росте» в область малих адрес), а під час зчитування зі стека - збільшується на два. Отже, вказівник стека SPзавжди містить адресу комірки, до якої відбулося останнє звернення. У деяких командах, наприклад у командах викликів підпрограм CALL,переривань INT,повернень з підпрограм RET,звернення до стека здійснюється автоматично. Під час виклику підпрограми (рис. 3) у стеку запам'ятовується адреса команди, наступної після виклику команди ADD,тобто вміст програмного лічильника PCзапам'ятовується у верхній незайнятій комірці стека, а вказівник стека зменшується на два.
Рис. 3. Робота стека під час виклику підпрограм Після повернення з підпрограми за командою RETвміст верхньої комірки стека перезаписується у програмний лічильник PC,вказівник стека SPзбільшується на два. Після цього починає виконуватися команда ADD.Крім команд CALL, INTі RET,для роботи зі стеком використовують також команди PUSHі POP,призначені для тимчасового запам'ятовування у стек вмісту регістрів і відновлення, тобто пересилання інформації зі стека у регістри. У МП Intel,починаючи з і286, існують команди PUSHAі POPA (PUSH All і POP Alt),призначені для тимчасового запам'ятовування у стеку і відновлення вмісту всіх регістрів МП. До апаратно-програмного стека можна звернутися також як до ОЗП з довільною вибіркою. У МП і80x86 для цього використовують непряму адресацію за допомогою регістра BP. Отже, у стек можна записати значення параметрів підпрограм перед їх викликом. Використання стекової пам'яті дозволяє підвищити швидкодію МПС, зменшуючи час однієї з найповільніших операцій - звернення до зовнішньої пам'яті.
|
||||||||
|