організація пам’яті


Вся пам'ять системи представляється не у вигляді безперервного простору, а у вигляді декількох шматків - сегментів заданого розміру (по 64 Кбайта), положення яких у просторі пам'яті можна змінювати програмним шляхом.

процесора Intel 80286

процесора 80386 в захищеному режимі
· Усунення - це 8-, 16- або 32-розрядне число, яке включене в команду.
· База - це вміст базового регістра процесора. Зазвичай воно використовується для свідчення про початок деякого массива.
· Індекс - це вміст індексного регістра процесора. Зазвичай воно використовується для вибору одного з елементів масиву.
· Масштаб - це множник (він може дорівнювати 1, 2, 4 або 8), зазначений в коді команди, на який перед підсумовуванням із іншими компонентами збільшується індекс. Він використовується для вказівки розміру елемента масиву.
Сегментування дозволяє виділити в пам'яті один або кілька сегментів для даних і один або кілька сегментів для програм. Перехід від одного сегмента до іншого зводиться всього лише до зміни вмісту сегментного регістра. Але працювати з сегментированной пам'яттю складніше, ніж з несегментірованной пам'яттю, так як доводиться стежити за межами сегментів, за їх описом, перемиканням і т.д.

У стековой пам'яті осередки утворюють одномірний масив, в якому сусідні осередки пов'язані один з одним розрядними ланцюгами передачі слів. Запис нового слова проводиться в верхній осередок, при цьому буде видалено всі слова зсуваються вниз, в сусідні осередки. Зчитування можливо тільки з верхньої осередки пам'яті. Якщо проводиться зчитування з видаленням всі інші слова в пам'яті зсуваються в верх.
У цій пам'яті порядок зчитування слів відповідає правилу FIFO: останнім надійшов, першим обслуговується. У ряді пристроїв розглянутого типу передбачається також операція простого зчитування слова з нульовою осередки без його видалення і зсуву слів в пам'яті.
Іноді стековая пам'ять забезпечується лічильником стека, що показує кількість занесених в пам'ять слів.