Статус нашего сайта: |
ICQ Information Center |
ICQ SHOP 5-значные 6-значные 7-значные 8-значные 9-значные Rippers List ОПЛАТА СТАТЬИ СЕКРЕТЫ HELP CENTER OWNED LIST РОЗЫСК!New! ICQ РЕЛИЗЫ Протоколы ICQ LOL ;-) Настройка компьютера Аватарки Смайлики СОФТ Mail Checkers Bruteforces ICQTeam Soft 8thWonder Soft Other Progs ICQ Patches Miranda ICQ ФорумАрхив! ВАШ АККАУНТ ICQ LiveJournal
РекламаНаш канал:irc.icqinfo.ru |
Таненбаум Э.- Архитектура компьютера. стр.295Таблица 5.8. Сравнение режимов адресации
Стековая На практике для эффективной архитектуры команд вовсе не нужно множество разнообразных режимов адресации. Поскольку практически весь код, написанный на этом уровне, порождается компиляторами (за исключением 8051), режимов адресации должно быть мало и они должны быть простыми и понятными. Машине приходится занимать одну из крайних позиций, предлагая либо все доступные варианты, либо только один вариант. В промежуточных случаях компилятор сталкивается с необходимостью выбора, сделать который он не в силах ввиду недостатка информации или сложности алгоритма. Поэтому в наиболее простых архитектурах используют очень немного режимов адресации, причем на каждый из этих режимов накладываются жесткие ограничения. Обычно практически для любых применений достаточно непосредственной, прямой, регистровой и индексной адресации. Каждый регистр (включая указатель локальных переменных, указатель стека и счетчик команд) должен быть доступен всегда, когда это требуется. В более сложных режимах адресации можно сократить число команд, но при этом придется ввести жесткие последовательности операций, которые трудно будет выполнять параллельно с другими операциями. Мы рассмотрели возможные компромиссы между кодами операций и адресами, а также между различными режимами адресации. Когда вы сталкиваетесь с новым компьютером, нужно изучить все его команды и режимы адресации, причем не только для того, чтобы знать об их существовании, но и чтобы понять, почему разработчиками был сделан именно такой выбор и каковы были бы последствия при другом выборе. Типы команд Команды можно грубо поделить на несколько групп, которые, хотя и могут различаться в деталях, воспроизводятся практически в каждой машине. Кроме того, в каждом компьютере всегда имеется несколько необычных команд, добавленных либо в целях совместимости с предыдущими моделями, либо потому, что у разработчика возникла блестящая идея, либо по требованию правительства, заплатившего производителю, чтобы тот включил в набор команд новую команду. В этом разделе мы попытаемся описать все наиболее распространенные категории, однако отметим, что мы не претендуем на исчерпывающее изложение. Команды перемещения данных Копирование данных из одного места в другое — одна из самых распространенных операций. Под копированием мы понимаем создание нового объекта с точно таким же набором битов, как у исходного. Такое понимание слова «перемещение» несколько отличается от его обычного значения. Если мы говорим, что какой-то человек переместился из Нью-Йорка в Калифорнию, это не значит, что в Калифорнии была создана идентичная копия этого человека, а оригинал остался в Нью-Йорке. Когда мы говорим, что содержимое ячейки памяти 2000 переместилось в какой-либо регистр, мы всегда подразумеваем, что там была создана идентичная копия, а оригинал все еще находится в ячейке 2000. Команды перемещения данных лучше было бы назвать командами дублирования данных, но название уже устоялось. |