Микропроцессоры и микроконтроллеры

 
 
 
«A program that has not been tested does not work.»
Bjarne Stroustrup
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципи роботи мікропроцесорів :: Логічне уявлення системної пам\'яті обчислювача

Логічне уявлення системної пам\'яті обчислювача

При розгляді структури пам\'яті обчислювального пристрою зручно також користуватися поняттями фізичної та логічної організації.

Логічна організація пам\'яті - це уявлення пристроїв зберігання даних як одновимірних масивів комірок з певними правилами адресації.

Фізична організація пам\'яті - спосіб взаємного з\'єднання мікросхем ОЗУ і ПЗУ для досягнення необхідної розрядність та обсягу, принципи їх підключення до системних шин адреси і даних, а також протокол обміну даними .

З точки зору логічної організації всі пристрої в системі можуть розглядатися як послідовний набір комірок пам\'яті або регістрів. До будь-якого з цих елементів (осередків) процесор звертається за його умовному порядковому номеру - адресою комірки пам\'яті або регістр порту вводу-вивода.Максімально допустиму для даного процесора кількість окремо адресуемих комірок пам\'яті і регістрів портів або контролерів називається < strong> адресним простором (АП) даного процесора. Адресний простір традиційно поділяють на системне (основне) АП та адресний простір вводу-виводу (АПВВ), на увазі під цим не тільки різниця у схемотехнічне побудові мікросхем пам\'яті і портів ВВ, але і різні форми адресації та протоколи передачі.

Адреса комірки пам\'яті або регістр порту, до якого здійснюється звернення, процесор вказує у вигляді коду, виставленого на шину адреси (ША). Об\'єм адресного простору і потенційно можливу кількість адрес комірок в системі пов\'язані з розрядність m шини адреси процесора співвідношенням

При цьому набір можливих значень адрес лежить в діапазоні . Об\'єм АП, допустимий по розрядність ША, може бути розширений за рахунок використання керуючих сигналів, що дозволяє одночасно мати в системі основне АП та АПВВ, діапазони адрес яких накладаються

Джерела адресної інформації розрізняються в залежності від дій процесора: при читанні команд з пам\'яті джерелом адресної інформації, виставленої на ША, є лічильник команд PC . При цьому вміст регістру PC автоматично змінюється на кількість лічених байтів команди. У разі доступу до даних або запису даних в пам\'ять або регістри портів джерелом адреси є адресна частина команди (пряма адресація) або один з регістрів процесора, вказаний в команді (непряма адресація).

Якщо ємність кожної окремо адресуемой комірки пам\'яті дорівнює одному байт, кажуть, що пам\'ять має байтную організацію . Деякі процесори допускають організацію пам\'яті також у вигляді слів (2 байтів, 16 бітів), а також бітовуюадресацію окремих ділянок пам\'яті.

Логічно пам\'ять зручно також представляти у вигляді сегментів - ділянок з різним функціональним призначенням (див. мал. 3.2):

сегмент коду - область пам\'яті, у якій мають коди команд програми обчислювача, а також використовуються константи;

сегмент даних - область, призначена для розміщення інформації, оброблюваної обчислювачів і, як правило, змінною в процесі роботи (дані з вимірників , проміжні та кінцеві результати обчислень, вихідна інформація);

сегмент стека- ділянка пам\'яті для тимчасового зберігання даних та адресної інформації, при роботі з яким програміст використовує протоколпоследовательногодоступа до інформації.

Сегментація пам\'яті може бути присутнім або тільки на логічному рівні, що зумовлено зручністю при розробці програм, або може підтримуватися апаратної структурою процесора. Практично всі сучасні мікропроцесори мають у своєму складі спеціальні регістри, в яких при роботі містяться початкові адреси поточних активних сегментів коду, даних і стека. Наприклад, для процесорів серії Intel 80x86 традиційні імена цих регістрів: CS, DS та SS відповідно.

Рис. 3.2. Логічна модель пам\'яті обчислювача для розрядність адреси m = 16 :

1 - сегмент коду програми; 2 - сегмент даних; 3 - сегмент стека;
4 - області, що не використовуються програмним забезпеченням.

При розгляді структури і вмісту пам\'яті обчислювача слід використовувати деякі загальноприйняті правила:

Оскільки розрядність шини адреси може становити 16, 20 або більше розрядів, адреси комірок пам\'яті і УВВ при написанні програм та розгляді роботи обчислювача прийнято вказувати в шістнадцятковому системі числення. Таким чином, при розрядність шини адреси обсяг АП складе байт з адресами від < em> 0000h до FFFFh ;

якщо для розміщення в пам\'яті деякого інформаційного об\'єкта потрібно декілька сусідніх комірок пам\'яті, то адресою цього об\'єкта (адресою команди, числа, масиву тощо) вважають адресу його першого байта, причому для чисел прийнятий такий принцип розміщення в пам\'яті: молодший байт числа повинен розташовуватися по молодшому адресу; отже, адресою числа є адреса його молодшого байта.

Зазначений принцип розміщення даних підтримується всіма системами програмування і компілятором з мов низького і високого рівня.

P.S. Хотелось бы обратить внимание уважаемого читателя на сайт ArtmobileService. Любую услугу для вашего мобильного телефона вы найдёте именно там: от ремонта мобильного любого производителя до настройки любой операционной системы.




Следующая статья >>
«Тимчасові діаграми сигналів»