Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сторінкова адресація. Неявна адресація. Стекова адресація. Використання стекової адресації.

Поиск

Сторінкова адресація

При сторінковій адресації адресний простір пам’яті розбивається на сторінки рівно­го розміру. Сторінка має початкову адресу, яка використовується в якості бази та збері­гається в спеціальному регістрі, який називається регістром адреси сторінки. В адресній частині команди вказується зміщення всередині сторінки, яке є молодшою частиною ви­конавчої адреси. Тобто виконавча адреса формується шляхом приєднання (конкатена­ції) зміщення з адресної частини команди до початкової адреси. База може зберігатися в одному з регістрів загального призначення, як це показано на рис. 3.32. Число з цього регістра береться в якості старших розрядів срА адреси, а зміщення з адресної частини команди в якості молодших розрядів мрА адреси.

Рис. 3.32. Формування адреси при використанні сторінкової адресації

Неявна адресація

Існують способи адресації, при яких код адреси операнда в явному вигляді в команді відсутній. Так, використання одноадресного формату команди привело до того, що в ко­манді адресується лише один з операндів, інші ж при цьому визначаються самим кодом операції. Наприклад, при виконанні арифметичних операцій адреса одного з операн­дів вказується в адресній частині команди, а інший операнд знаходиться в акумуляторі. Адреса останнього в команді не вказується, а є відомою наперед.

Неявна адресація дозволяє скоротити довжину команди, тому знайшла широке ви­користання.

Стекова адресація

Зменшення довжини команди скорочує час виконання і економить пам’ять. Межею зменшення є безадресні команди, які можливі при використанні стекової адресації. Сте­кова адресація використовується в безадресних командах при роботі з масивами даних.

Широко використовується в мікропроцесорах і мікрокомп’ютерах. Принципи організа­ції стекової адресації ілюструє рис. 3.33.

Стек - це, набір комірок пам’яті або регістрів, в яких дані масиву розміщуються в заданому порядку, а саме відповідно до правила організації пам’яті з послідовним до­ступом типу FILO. Місце розміщення першого даного масиву називається дном стека, а останнього - вершиною стека. Для запису та читання даних передбачено дві операції: push (вштовхування даних в стек) та pop (виштовхування даних зі стеку). Операції зо­внішнього запису та читання можливі тільки з вершиною стека. На її номер вказує вміст вказівника стека. При запису всі дані в стеку зміщуються на одну позицію вниз, а при зчитуванні зміщуються на одну позицію вверх. На рисунку 3.34 показано функціону­вання стека при запису та зчитуванні даних при виконанні двомісної операції множення числа 50 на число 10 в арифметико-логічному пристрої із записом результату в стек.

Використання стекової адресації

Зазвичай в математиці прийнято записувати знак операції між операндами, напри­клад a+b, c:d і т. д. Такий запис називають інфіксним. При використанні такого запису для обчислення складного виразу необхідно задавати пріоритети операцій. Наприклад, в алгебраїчному виразі

а + bc/d - f

пріоритети можуть бути наступні: х, /, +, -.

Інший підхід, який забезпечує правильне виконання інфіксного запису - викорис­тання дужок, причому, з тим, що обчислення проводиться від внутрішніх дужок до зо­внішніх. В дужковій формі наведений вираз прийме вигляд:

((а + ((Ьс)/<1))-0.

Замість аналізу пріоритету знаків операцій тут необхідно визначити дужки з най­більшою глибиною вкладення.

Для реалізації наведеного виразу в комп’ютері можна використати всі раніше описа­ні способи адресації.

Польський математик Ян Лукашевич показав, що якщо знаки арифметичних опе­рацій записувати перед операндами (префіксна форма) чи після операндів (постфіксна форма, або обернений польський запис), то для визначення порядку виконання опера­цій дужки стають непотрібними.

Так, для наведеного вище виразу префіксна форма має вигляд:

- + а / х Ьс сі ї,

а постфіксна форма має вигляд:

аЬсх 6. / + і-.

Ця форма - обернений польський запис.

Обернений польський запис прекрасно підходить для проведення обчислень на комп’ютері зі стеком.

Якщо вираз складається із N символів, то алгоритм його обчислення на стеку можна представити у вигляді блок-схеми, показаної на рис. 3.35.

Рис. 3.35. Блок-схема обчислення на стеку виразу, представленого в постфіксній формі

 

Розглянемо потактовий стан комірок стеку при реалізації раніше розглянутого ви­разу, записаного в постфіксній формі (рис. 3.36).

Для реалізації стека можуть бути використані регістри. В цьому випадку схема об­числень з використанням стека має вигляд, показаний на рис. 3.37.

Алгоритм функціонування такий же, як вище описано функціонування на базі основ­ної пам’яті ОП. Операція виконується над вмістом Ргі і результат розміщується в Ргі, а вміст нижніх регістрів зміщується на один крок вверх.

 

28. Одношинна структура процесора.

Почнемо розгляд процесора з аналізу його структури та організації роботи. Однією з найпростіших структур процесора є одношинна структура. Одношинну структуру про­цесора і його зв’язки з іншими пристроями комп’ютера показано на рис. 4.1. Як бачимо, до складу процесора входять пристрій керування, арифметико-логічний пристрій АЛП з вхідним РгУ та вихідним Рг2 регістрами, і регістрова пам’ять, до складу якої входять регістр команд РгК, регістр даних РгД, регістр адреси РгА, програмний лічильник ПЛ, та регістре- вий файл - стек програмно доступних регістрів РгО, Ргі... Рг(п-І). Обмін інформацією між названими пристроями здійснюється через спільну внутрішню шину процесора. Зв’язок процесора з основною пам’яттю проводиться через регістри адрес РгА та даних РгД.

Рис. 4.1. Однотипна структура процесора

РгА зберігає адресу даного або команди при зверненні до основної пам’яті. РгК збе­рігає команду після її зчитування з основної пам’яті. РгД зберігає операнд при його за­пису або зчитуванні з основної пам’яті. ПЛ - програмний лічильник, який підраховує команди та зберігає адресу поточної команди.

Регістри загального призначення Рг0-Рг(п регістрового файла є програмно доступ­ними. Вони можуть використовуватися програмістом в якості адресних регістрів, ін­дексних регістрів при виконанні операцій модифікації адрес або в якості регістрів для зберігання проміжних результатів обчислень. Більшість комп’ютерів мають в складі про­цесора тригери для зберігання бітів стану процесора, або як їх ще називають, прапорців. Кожен прапорець має спеціальне призначення. Частина прапорців вказує на результати арифметичних і логічних операцій: додатній результат (Р), від’ємний результат (М), ну­льовий результат {Т), перенос (С), арифметичне переповнення (V) тощо.

Різні команди вказують процесору, коли встановити чи очистити ці тригери. Інша частина прапорців вказує режими захисту пам’яті. Існують також прапорці, які вказу­ють пріоритети виконуваних програм. В деяких процесорах додаткові тригери слугують для зберігання кодів умов, формуючи регістр кодів умов. Взяті разом описані прапорці формують слово стану програми (ССП), а відповідні тригери - регістр ССП.



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 401; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.23.54 (0.01 с.)