Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Архитектура компьютера - Таненбаун Э.

Таненбаун Э. Архитектура компьютера — Спб.: Питер, 2007. — 844 c.
ISBN 5-469-01274-3
Скачать (прямая ссылка): arhkomputera2007.DjVu
Предыдущая << 1 .. 204 205 206 207 208 209 < 210 > 211 212 213 214 215 216 .. 422 >> Следующая

адресации, причем на каждый из этих режимов накладываются жесткие
ограничения. Обычно практически для любых применений достаточно
непосредственной, прямой, регистровой и индексной адресации. Каждый
регистр (включая указатель локальных переменных, указатель стека и
счетчик команд) должен быть доступен всегда, когда это требуется. В более
сложных режимах адресации можно сократить число команд, но при этом
придется ввести жесткие последовательности операций, которые трудно будет
выполнять параллельно с другими операциями.
Мы рассмотрели возможные компромиссы между кодами операций и адресами, а
также между различными режимами адресации. Когда вы сталкиваетесь с новым
компьютером, нужно изучить все его команды и режимы адресации,
Типы команд 419
причем не только для того, чтобы знать об их существовании, но и чтобы
понять, почему разработчиками был сделан именно такой выбор и каковы были
бы последствия при другом выборе.
Типы команд
Команды можно грубо поделить на несколько групп, которые, хотя и могут
различаться в деталях, воспроизводятся практически в каждой машине. Кроме
того, в каждом компьютере всегда имеется несколько необычных команд,
добавленных либо в целях совместимости с предыдущими моделями, либо
потому, что у разработчика возникла блестящая идея, либо по требованию
правительства, заплатившего производителю, чтобы тот включил в набор
команд новую команду. В этом разделе мы попытаемся описать все наиболее
распространенные категории, однако отметим, что мы не претендуем на
исчерпывающее изложение.
Команды перемещения данных
Копирование данных из одного места в другое - одна из самых
распространенных операций. Под копированием мы понимаем создание нового
объекта с точно таким же набором битов, как у исходного. Такое понимание
слова "перемещение" несколько отличается от его обычного значения. Если
мы говорим, что какой-то человек переместился из Нью-Йорка в Калифорнию,
это не значит, что в Калифорнии была создана идентичная копия этого
человека, а оригинал остался в Нью-Йорке. Когда мы говорим, что
содержимое ячейки памяти 2000 переместилось в какой-либо регистр, мы
всегда подразумеваем, что там была создана идентичная копия, а оригинал
все еще находится в ячейке 2000. Команды перемещения данных лучше было бы
назвать командами дублирования данных, но название уже устоялось.
Есть две причины, по которым данные могут копироваться из одного места в
другое. Одна из них фундаментальна: присваивание переменным значений.
Следующая операция присваивания выполняется путем копирования значения,
которое находится в ячейке памяти с адресом В, в ячейку А, поскольку
программист дал команду это сделать:
А = В
Вторая причина копирования данных - предоставить возможность быстрого
обращения к ним. Как мы уже видели, многие команды могут обращаться к
переменным только в том случае, если они находятся в регистре. Поскольку
существует два возможных источника данных (память и регистр) и два
возможных приемника данных (память и регистр), существует также 4
различных способа копирования. В одних компьютерах для этих четырех
случаев поддерживаются 4 команды, в других - единственная команда.
Некоторые компьютеры используют команду LOAD для загрузки данных из
памяти в регистр, команду STORE для сохранения в памяти данных из
регистра, команду MOVE для перемещения данных из одного регистра в
другой, но вообще не имеют команд для копирования из одной части памяти в
другую.
420
Глава 5. Уровень архитектуры набора команд
Команды перемещения данных должны как-то указывать, сколько данных нужно
переместить. Существуют команды для перемещения разных объемов данных -
от одного бита до всей памяти. В машинах с фиксированной длиной слова
обычно перемещается ровно одно слово. Любые перемещения других объемов
данных (больше или меньше слова) должны выполняться программно с
использованием операций сдвига и слияния. Некоторые архитектуры команд
дают возможность копировать фрагменты данных размером меньше слова (они
обычно измеряются в байтах), а также сразу нескольких слов. Копирование
нескольких слов рискованно, особенно если максимальное количество слов
достаточно большое, поскольку такая операция может занять много времени и
существует вероятность ее прерывания в середине. Некоторые машины с
переменной длиной слов содержат команды, которые определяют только адреса
источника и приемника, но не объем данных - в этом случае перемещение
продолжается до тех пор, пока не встретится специальное поле,
идентифицирующее окончание данных.
Бинарные операции
Бинарные операции - это такие операции, которые получают результат на
основе значений двух операндов. Все архитектуры команд содержат команды
для сложения и вычитания целых чисел. Кроме того, практически во всех
архитектурах имеются команды умножения и деления целых чисел. Вероятно,
нет необходимости объяснять, почему компьютеры оснащены арифметическими
командами.
Предыдущая << 1 .. 204 205 206 207 208 209 < 210 > 211 212 213 214 215 216 .. 422 >> Следующая