Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Тема 2. 1. Керування оперативною пам'яттю структуриСодержание книги
Поиск на нашем сайте
Принципи адресації пам'яті. Спо́соби адреса́ції па́м'яті — комплекс стандартизованих для певної архітектури системи команд центрального процесора способів для визначення (обчислення) місця розташування операндів у пам'яті ЕОМ або адреси наступної команди при виконанні команд переходу. В цій статті висвітлюються аспекти адресації операндів. Докладніше про адресацію переходів див. Методи адресації переходів. Для того, щоби отримати можливість використовувати дані з пам'яті в обчислювальних операціях, необхідно однозначно вказати процесору їхнє розташування. В фон-нейманівських машинах кожна комірка пам'яті має власну адресу й проблема визначення місця розташування потрібних даних зводиться до визначення цієї адреси. В перших ЕОМ адреса або номер комірки необхідно було вказувати явно, і такий метод адресації виявлявся дуже незручним. Труднощі в алгоритмізації різних задач, де була потрібна автоматизація процесу визначення адреси, стали причиною введення згодом широкого спектру методів адресації. Кожний з них фактично пропонує певну формулу для обчислення ефективної (тобто фактичної) адреси, зручну в тій або іншій ситуації. Пік винахідництва в цій галузі припав на час панування CISC-архітектур «регістр-пам'ять», які дозволяли безпосередньо використовувати в якості одного з операндів комірку пам'яті.RISC-архітектури типу «регістр-регістр», в яких доступ до пам'яті регламентується значно більш жорстко, мають у порівнянні з CISC, дуже скромний набір методів адресації, і у найрадикальніших представниках цієї ідеології зведений до єдиного. Як приклад CISC-моделі адресації пам'яті, розглянемо різноманітну палітру методів популярної колись архітектури VAX-11 і розглянемо її на прикладі двооперандної команди додавання ADD a, b (a:=a+b), де кожний операнд може бути як регістром, так і безпосередньо знаходитись в пам'яті. В таблиці зведені основні методи адресації VAX (загальна кількість їх перевищує два десятки, але інші є похідними від наведених) за умови, що операнд а завжди перебуває в регістрі R1, а ефективна адреса операнда b обчислюється залежно від зазначеного в команді методу адресації.
Формат двохоперандної команди архітектури VAX. Поля «режим» визначають режим адресації, поля «регістр» — номери задіяних регістрів Інформація про операнд міститься в його специфікаторі, формат якого варіюється, але для більшості методів адресації складається з полів «регістр» і «режим». Тобто, режим адресації задається полем «режим», а номер задіяного регістра міститься у полі «регістр». В режимі адресації по зсуву, в команді після полів режиму й регістра, з'являється додаткове поле із зазначенням величини самого зсуву. В режимі масштабування також застосовується розширення команди й у додатковому полі знаходиться специфікатор для третього задіяного регістра. Реалізація абсолютної та безпосередньої адресації в машинах PDP і VAX досить цікава й використовує неявно, як залучений регістр, регістр лічильника команди (PC). Абсолютна адресація реалізується через непряму регістрову з автоінкрементом, а безпосередня — через непряму з автоінкрементом та дописуванням зсуву або константи безпосередньо після команди. При цьому регістр PC у момент виконання команди завжди вказує на наступну після неї комірку пам'яті, яка містить адресу зсуву або константи, й обчислення абсолютної адреси відбудеться коректно. Після цього необхідно лише збільшити PC до адреси наступної команди. Це робиться шляхом додання до поточного значення лічильника одиниці (автоінкремента).
Ri — регістр з порядковим номером i. В архітектурах «регістр-регістр» про методи адресації пам'яті має сенс говорити тільки щодо спеціальних команд завантаження й збереження даних. Всі обчислювальні команди в цих архітектурах використовують винятково регістри або константи в полі команди, а значить тільки регістрову або безпосередню адресацію. RISC-архітектури, які ми маємо на увазі, говорячи про машини типу «регістр-регістр» (хоча, якщо точніше, RISC є всього лише підмножиною цього класу), власне, використовують дуже обмежений набір методів адресації, які несуть інше функціональне навантаження й не є складовою частиною обчислювальних операцій. Формати команд архітектури DEC Alpha Під ефективною адресою тепер будемо розуміти адресу комірки пам'яті, призначеної для завантаження в регістр спеціальною командою LD (load) або збереження результату спеціальною командою ST (store). Цей набір є досить скромним у порівнянні з різноманіттям VAX. Поряд з нею архітектура DEC Alpha, з її єдиним методом адресації, виглядає, на перший погляд, навіть дивно, тим більше, що довгий час процесорам саме цієї архітектури належав світовий рекорд швидкодії. Однак, як показують статистичні дослідження, таке рішення цілком обґрунтоване — найуживанішими є методи адресації за зсувом (базової) й з використанням константи в полі команди, на них припадає в середньому стільки ж, скільки й на всі інші разом узяті. Хоча, звичайно ж, дуже багато чого залежить від стратегії оптимізації, використовуваної компілятором для конкретної архітектури. Подібно до того, як в VAX деякі методи адресації були спеціальними випадками інших, в Alpha на основі адресації за зсувом (базової) можна отримати, наприклад, регістрову адресацію зазначенням нуля в якості розміру зсуву, або абсолютну адресацію записом нуля в якості задіяного регістра (зазвичай замість цього використовується регістр R0, який в RISC-архітектурах містить константу нуля).
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-09-20; просмотров: 227; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.55.63 (0.006 с.) |