МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Класифікація способів адресаціїІснує декілька різних методів класифікації способів адресації. Розглянемо кожний з них більш детально: Наявність адресної інформації у команді За цим параметром в команді розрізняють явну і неявну адресацію. При явній адресації операнда в команді є поле адреси цього операнда, в якому задається адресний код Ак. Більшість методів адресації є явними. При неявній адресації адресне поле в команді відсутнє, адресу операнда визначається кодом операції. Метод неявної адресації операндів використовується у всіх процесорах. Основне його призначення – зменшення довжини команди за рахунок виключення частини адрес. При цьому методі код операції точно задає адресу операнда. Наприклад, з команди виключається адресу приймача результату. При цьому мається на увазі, що результат у цій команді поміщається на місце другого операнда. Кратність звернення в пам'ять Широко використовуються такі методи адресації операнда з різною кратністю звернення (R) в пам'ять: 1. Безпосередня (R = 0). 2. Пряма (R = 1). 3. Непряма (R> 2). При безпосередній адресації операнд розташовується в адресному полі команди. Звернення до регістрової пам'яті (РП) або оперативної пам'яті (ОП) не проводиться. Таким чином, зменшується час виконання операції, скорочується обсяг пам'яті. Безпосередня адресація зручна для завдання констант, довжина яких менше або дорівнює довжині адресного поля команди. При прямій адресації (рис.2.4) звернення за операндом в РП або ОП проводиться по адресному коду в полі команди, тобто виконавча адреса операнда збігається з адресним кодом команди (АВ=АК). Рис.2.4. Схема прямої адресації: а) – регістрова пам'ять; б) – оперативна пам'ять Забезпечуючи простоту програмування, цей метод має істотні недоліки, так як для адресації до комірок пам'яті великої місткості (число адрес М велике) потрібно «довге» адресне поле в команді. Пряма адресація використовується широко в поєднанні з іншими способами адресації. Зокрема, вся адресація до «малої» регістрової пам'яті ведеться тільки за допомогою прямої адресації. При непрямій адресації операндів адресний код команди вказує адресу комірки пам'яті, в якій знаходиться не сам операнд, а лише адресу операнда, що називається покажчиком операнда. Адресація до операнду через ланцюжок покажчиків (непрямих адрес) називається непрямою, рис.2.5. Адреса покажчика, що задається програмою, залишається незмінною, а непряма адреса може змінюватися в процесі виконання програми. Непряма адресація, таким чином, дозволяє переадресовувати дані, тобто спрощує обробку масивів і рядкових структур даних, спрощує передачу параметрів підпрограм, але не забезпечує переміщуваність програм в пам'яті.
Рис.2.5. Непряма адресація. Формування виконавчих адрес елементів пам'яті Способи формування адрес комірок пам'яті (АВ) можна розділити на абсолютні та відносні. Абсолютні способи формування припускають, що двійковий код адреси комірки пам'яті – АВ може бути витягнутий цілком або з адресного поля команди (у разі прямої адресації), або з будь-якої іншої комірки (у разі непрямої адресації), ніяких перетворень коду адреси не проводиться. Відносні способи формування АВ припускають, що двійковий код адреси комірки пам'яті утворюється з декількох складових: Б – код бази, І – код індексу, З – код зсуву, що використовуються в поєднаннях (Б і З), (І і З), (Б, І і З). При відносній адресації застосовуються два способи обчислення адреси АВ: · підсумовування кодів складових адреси: (АВ = Б + З; АВ = І + З; АВ = Б + І + З); · поєднання (конкатенація) кодів складових адреси: ( АВ = Б / З). Розглянемо кожний з цих способів більш детально. Базування способом підсумовування: у команді адресний код АК поділяється на дві складові: АБ – адреса регістра в регістровій пам'яті, в якому зберігається база Б (базова адреса); З – код зсуву щодо базової адреси (рис.2.6). За допомогою методу відносної адресації вдається отримати так званий переміщуваний програмний модуль, який однаково виконується процесором незалежно від адрес, в яких він розташований. Початковий адреса програмного модуля (база) завантажується, при вході в модуль, в базовий регістр. Всі інші адреси програмного модуля формуються через зсув щодо початкової адреси (бази) модуля. Таким чином, одна й та ж програма може працювати з даними, розташованими в будь-якій області пам'яті, без переміщення даних і без зміни тексту програми тільки за рахунок зміни змісту всього одного базового регістра. Однак час виконання кожної операції при цьому зростає. Базування способом поєднання складових: для збільшення ємності адресної ОП без збільшення довжини адресного поля команди можна використовувати для формування виконавчої адреси суміщення (конкатенацію) кодів бази і зсуву, рис.2.7. Проте в даному випадку початкові адреси масивів не можуть бути реалізовані довільно, а повинні мати в молодших розрядах n нулів, де n – довжина поля зсуву.
Рис.2.6. Схема формування відносної адреси способом підсумовування кодів бази і зміщення: СМ – суматор, РАОП – регістр адреси ОП, Б – база (базова адреса), З – зміщення, АБ – адреса регістра бази.
Рис.2.7. Схема формування відносної адреси способом поєднання кодів бази і зміщення.
Індексна адресація: для роботи програм з масивами, які вимагають однотипних операцій над елементами масиву, зручно використовувати індексну адресацію. Схема індексної адресації аналогічна базуванню шляхом підсумовування (див. рис.2.6). У цьому випадку адреса i-гo операнда в масиві визначається як сума початкової адреси масиву (задається полем зміщення З) і індексу І, записаного в одному з регістрів РП, що називається тепер індексним регістром. Адреса індексного регістра задається в команді полем адреси індексу – АІН (аналогічно АБ). У кожному i-му циклі вміст індексного регістра змінюється на величину постійну (часто дорівнює 1). Використання індексної адресації значно спрощує програмування циклічних алгоритмів. Для ефективної роботи при відносній адресації застосовується комбінована індексація з базуванням, при якій адреса операнда обчислюється як сума трьох величин, рис.2.8: АВ = Б + І + З.
Рис.2.8. Схема формування додаткової адреси при індексній адресації і базуванні: АІН – адреса індексного регістра Стекова адресація: стекова пам'ять є ефективним елементом і широко використовується в сучасних ЕОМ. Хоча адреса звернення в стек відсутня в команді, вона формується схемою управління автоматично за спеціальним правилом, рис.2.9: Рис.2.9. Схема управління стеком Стек може реалізовуватися або апаратними, або програмними засобами. Розглянемо стек, реалізований програмно-апаратно. Стек – деяка область пам'яті в загальному просторі, доступ до комірок якої здійснюється за допомогою покажчика стека, рис.2.10. Sp – покажчик стека, що вказує адресу завантаженої команди або першої вільної комірки. Доступ до даних в стеку, тільки по черзі, починаючи у вершини. Розміщення даних у стек – завантаження стека. Вилучення даних – розвантаження даних. Розташування даних в стеку суворо впорядковано. У будь-який момент часу можна або зчитати верхні дані, або завантажити поверх них інші. При кожному зверненні до стека, покажчик стека автоматично коригується на величину, рівну довжині даних. Рис.2.10. Стекова організація пам’яті Дані, вилучені зі стека, як би в стеку втрачаються. Для вилучення довільного даного зі стека необхідно попередньо видалити всі вище розміщені дані. Такий механізм не вимагає адресного поля в команді, команди фактично безадресні. Для забезпечення ефективної роботи стека необхідно щоб оброблювані дані були структуровані. Історично стекова адресація використовувалася при конструюванні трансляторів. Переваги стекової адресації: · безадресні команди; · переміщуваність команд. Недоліки стекової адресації: · у адресному механізмі акумуляторний вузол керування; · при використанні стека, як засобу адресації команд, виникають складнощі при реалізації розгалуження. У сучасних ЕОМ стековий механізм є одним з основних при роботі з підпрограмами, а також при організації переривань.
Читайте також:
|
||||||||
|