Главная » Просмотр файлов » Э. Таненбаум - Архитектура компьютера

Э. Таненбаум - Архитектура компьютера (1127755), страница 103

Файл №1127755 Э. Таненбаум - Архитектура компьютера (Э. Таненбаум - Архитектура компьютера) 103 страницаЭ. Таненбаум - Архитектура компьютера (1127755) страница 1032019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 103)

Биты В б 4 Режим Режи адресации РегистР Смещение адрес Необязательно 32-разрядный адрес или смещение Код операции Необязательно 32-разрядный адрес или смещение Рис. 8.18. Простые форматы команд для дзухадресной машины Для переменных, расположенных после первых 16, нам потребуется перейти к 32-разрядным смешениям. Можно также придумать формат с одним 8-разрядным смещением вместо двух 4-разрядных при условии, что это смещение может Здесь мы снова имеем 8-разрядный код операции, но теперь у нас есть по 12 бит для задания источника и приемника. Для каждого операнда 3 бита позволяют указать режим адресации, 5 бит — регистр и 4 бита — смещение.

Имея 3 бита для задания режима адресации, мы можем поддерживать непосредственную, прямую, регистровую, косвенную регистровую индексную и стековую адресации, и при этом еШе остается место для двух дополнительных режимов, которые, возможно, появятся в будущем. Это простая система, которую легко компилировать, в то же время она достаточно гибкая, особенно если счетчик команд, указатель стека и указатель локальных переменных находятся среди регистров общего назначения, к которым можно получить доступ.

Единственная проблема в том, что при прямой адресации нам нужно большее количество битов для адреса. В машинах Р1тР-11 и тгАХ к команде было добавлено дополнительное слово для указания адреса каждого прямо адресуемого операнда. Мы тоже могли бы использовать один из двух доступных режимов адресации для индексной адресации с 32-разрядным смещением, которое следует за командой. Тогда в худшем случае при сложении двух слов памяти, когда обрашение к обоим операндам производится в режиме прямой адресации или с использованием длинной индексной формы, команда была бы размером 96 бит и занимала бы 3 цикла шины (один для команды и два для данных). В то же время для прибавления произвольного слова памяти к другому произвольному слову памяти большинству В18С-систем потребовалось бы по крайней мере 96 бит, а может и больше, на что нужно по крайней мере 4 цикла шины.

Форматы, изображенные на рис. 5.18, допускают самые разные варианты. В данной системе с помощью одной 32-разрядной команды, при условии что переменные 1 и 1 находятся среди первых 16 локальных переменных, можно выполнить следующую операцию: Адресация 41 5 использоваться либо источником, либо приемником,но не тем и другим вместе. Варианты компромиссов не ограничены, и чтобы получить хороший результат, разработчикам приходится учитывать многие факторы. Режимы адресации процессора Репт]ит 4 Режимы адресации процессора Реп[[цш 4 чрезвычайно нерегулярны и зависят от формата конкретной команды — 16- или 32-разрядная. Мы не будем рассматривать 16-разрядные команды, вполне достаточно 32-разрядных.

Поддерживаемые режимы адресации включают непосредственную, прямую, регистровую, косвенную регистровую, индексную и специальную адресацию для обращения к элементам массива. Проблема заключается в том, что не все режимы применимы ко всем командам и не все регистры могут использоваться во всех режимах адресации.

Это значительно усложняет задачу разработчика компилятора. Как показано на рис. 5.10, для управления режимами адресации имеется соответствующий байт. Один из операндов определяется по комбинации полей МОП и К/М. Второй операнд всегда является регистром и определяется по значению поля ВЕС. В табл. 5.7 приведен список 32 комбинаций значений 2-разрядного поля МОР и 3-разрядного поля К/М. Например, если оба поля равны О, операнд считывается из ячейки памяти с адресом, который содержится в регистре ЕАХ. Таблица В.Т.

32-разрядные режимы адресации процессора Реп11цт 4 [М[х] — это слово в памяти с адресом х) й/М МОО О1 10 00 М[ЕАХ я смещение 8] М[ЕАХ я смещение 32) ЕАХ или А1. М[ЕСХ е смещение 8) М[ЕСХ е смещение 32) ЕСХ или Сс М[ЕОХ е смещение 8) М[ЕОХ е смещение 32] ЕОХ или 01 М[ЕВХ е смещение 8] М[ЕВХ е смещение 32) ЕВХ или ВГ 3!В со смещением 8 81В со смещением 32 ЕВР или АН 000 М[ЕАХ] 001 М[ЕСХ) 010 М[ЕОХ) 011 М[ЕВХ] 100 31В 101 Прямая адресация М[ЕВР е смещение 8] М[ЕВР е смещение 32] ЕВР или СН М[ЕВ1 е смещение 8] М[Е01 я смещение 8] М[ЕВ1 е смещение 32] М[ЕО! + смещение 32] 110 М[Е81] 111 М[ЕОЦ ЕВ! или ОН ЕО! или ВН Колонки 01 и 10 включают режимы адресации, при которых значение регистра прибавляется к 8- или 32-разрядному смещению, следующему за командой.

Если выбрано 8-разрядное сме!цение, оно перед сложением получает 32-разрядное знаковое расширение. Например, команда А00 с полем К/М = 011, полем МОП = 01 и смещением, равным шести, вычисляет сумму регистра ЕВХ и 6, и в качестве одного из операндов считывает слово из полученного адреса памяти. Значение регистра ЕВХ не изменяется. При МОП = 11 предоставляется возможность выбора из двух регистров. Для команд со словами берется первый вариант, для команд с байтами — второй. 416 Глава 5.

Уровень архитектуры набора команд Здесь а — массив 4-байтных целых чисел, относящийся к текущей процедуре. Обычно регистр ЕВР используется для указания на базу стекового фрейма, который содержит локальные переменные и массивы, как показано на рис. 5.19. Компилятор должен хранить значение т в регистре ЕАХ. Для доступа к элементу а113 он будет использовать режим с байтом ЯВ, в котором адрес операнда равен сумме значений 4 ЕАХ, ЕВР и 8. Эта операция может сохраняться в аШ за одну команду.

-ч — ЕВР ! в регистра ЕАХ Значения В!В М 14*ЕАХ+ЕВР+81 Стековый фрейм -~ — ЕВР+ 8 -~ — ЕВР+ 12 ~ — ЕВР+ 16 Рис. 8.19. Обращение к элементу массива а[!1 А стоит ли применять такой режим адресации? На этот вопрос трудно ответить. Без сомнения эта команда при надлежащем использовании позволяет сэкономить несколько циклов. Проблема здесь в том, что она занимает определенную область памяти микросхемы, которая могла бы пригодиться. Например, можно было бы сделать больше кэш-память первого уровня или уменьшить размер микросхемы, обеспечив возможность повышения тактовой частоты. Мы представили несколько возможных компромиссов, с которыми постоянно сталкиваются разработчики. Обычно перед тем, как воплотить какую-либо идею в кремнии, выполняются многочисленные моделирующие прогоны, но для этого нужно иметь представление о том, как будет использоваться машина.

Можно га- Отметим, что здесь не все регулярно. Например, нельзя выполнить косвенную адресацию через ЕВР или прибавить смещение к ЕБР. Иногда вслед за байтом МОНЕ следует дополнительный байт 81В (см. рис. 5.19). Байт ЯВ определяет масштабный коэффициент и два регистра. Когда присутствует байт 81В, адрес операнда вычисляется путем умножения индексного регистра на 1, 2, 4 или 8 (в зависимости от значения поля 8САЕЕ), прибавлением его к базовому регистру и, наконец, возможным прибавлением 8- или 32-разрядного смещения, в зависимости от значения поля МОР.

Практически все регистры могут использоваться и в качестве индекса, и в качестве базы. Режимы, получаемые посредством байта 81В, могут пригодиться для обращения к элементам массива. Рассмотрим следующую 1ауа-команду: гсг (1-0: 1<п: 1++! а1!1=0: Ацресация 417 рантировать, что разработчики машины 8088 тестировали ее без веб-браузера. Решения, принятые 20 лет назад, могут оказаться абсолютно неудачными с точки зрения современных приложений. В то же время, включив в машину какую-нибудь функцию, из-за требования обратной совместимости избавиться от нее будет уже невозможно.

Режимы адресации процессора 011гаЗРАВС П! В архитектуре команд процессора П!ггаЯРАКС все команды поддерживают режим непосредственной или регистровой адресации, за исключением тех команд, которые обращаются к памяти. При регистровой адресации 5 бит просто сообщают, какой регистр нужно использовать. При непосредственной адресации в качестве данных используется 13-разрядная константа со знаком. Для арифметических, логических и других подобного рода команд никаких других режимов адресации не используется.

К памяти обращаются команды трех типов: загрузки (1ОАО), сохранения (5ТОкЕ) и синхронизации мультипроцессора. Для команд 1ОАО и 5ТОкЕ поддерживаются два режима обращения к памяти. В первом режиме вычисляется сумма двух регистров, а затем полученное значение используется для косвенной адресации. Второй режим представляет собой обычное индексирование с 13-разрядным смещением со знаком. Режимы адресации процессора 8051 Схема адресации процессора 8051 достаточно стандартна.

Предусмотрено пять основных режимов адресации. Простейший из них, называемый неявной адресацией, применяется в сумматоре. Многие команды комбинируют операнды со значением, накопленным в сумматоре; так работают команды сложения и вычитания операндов, логические операции И и ИЛИ с операндами. Команды, обращающиеся к сумматору, не имеют битов, указывающих на это. Факт применения сумматора неявно подразумевается в коде операции. Второй режим адресации — регистровая адресация, при которой операнд помещается в регистр. Регистры при этом могут быть как входными (источниками значений), так и выходными (приемниками значений).

Третий режим — прямая адресация, когда операнд находится в ячейке памяти, адрес которой указан в команде. Четвертый режим — косвенная регистровая адресация, подразумевающая размещение в регистре указателя на операнд. Поскольку разрядность обычных регистров составляет 8 бит, операнды с такой адресацией должны занимать нижние 256 байт памяти. В последнем, пятом, режиме, который называется непосредственной адресацией, предполагается, что операнд является частью команды. Помимо вышеупомянутых, в 8051 предусмотрен специализированный режим адресации, применяемый некоторыми командами для доступа к памяти.

Характеристики

Тип файла
DJVU-файл
Размер
13,7 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6461
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее