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

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

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

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

Это значит, что выполнение каждой команды можно сделать условным. Дополнительное 6-разрядное поле предикатного регистра, о котором мы упомянули, позволяет выбрать один из 64 1-разрядных предикатных регистров. Следовательно, оператор 11 может быть скомпилирован в код, который устанавливает один из предикатных регистров в 1, если условие истинно, и в О, если условие ложно. Одновременно и автоматически инвертируется другой предикатный регистр. Таким образом, при поддержке предикации машинные команды, которые формируются из операторов Феп и е1 зе, сливаются в единый поток команд, причем у команд первого из них поле предикатного регистра оказывается единичным, у второго — нулевым.

В листингах 5.15 — 5.17 показано, как использовать предикацию для устранения переходов. Команда СИРЕО сравнивает два регистра и устанавливает предикатный регистр Р4 в 1, если они равны, и в О, если они не равны. Кроме того, команда инвертирует еще один регистр, например, Р5. После этого команды частей 468 Глава 5. Уровень архитектуры набора команд 11 и ВМел можно поместить одну за другой, причем каждая из них оказывается связанной с каким-нибудь предикатным регистром (регистр указывается в угловых скобках). Сюда можно поместить любой код, при условии, что каждая команда предсказывается правильно.

Листинг 5.15. Оператор Н 1ПЙ1 — йг1 ЙЗ = Й4 + Й5. Е1зе йб = Й4 — й5 Листинг 5.15. Код на ассемблере для листинга 5.15 СМР Й1,й2 ВМЕ Е1 МОН йз.й4 АОО йз.й5 Вй Е2 Е1: МОН йб.й4 ВОВ йб,й5 Листинг 5.17. Предикатное выполнение СМРЕО й1,й2,Р4 <Р4> АОО йЗ,Й4,Й5 <Рб> 50В йб,й4,Й5 В архитектуре 1А-64 эта идея доведена до логического завершения — здесь с предикатными регистрами связаны и команды сравнения, и арифметические команды, и некоторые другие команды. Предикатные команды могут помещаться в конвейер последовательно без каких-либо проблем и простоев.

Поэтому они очень полезны. В архитектуре 1А-64 предикация происходит следующим образом. Каждая команда действительно выполняется, и в самом конце конвейера, когда уже нужно сохранять результат в выходном регистре, производится проверка, истинно ли предсказание. Если да, то результаты просто записываются в выходной регистр. Если предсказание ложно, то записи в выходной регистр не происходит. Подробно о предикации вы можете прочитать в дополнительной литературе [60~.

Спекулятивная загрузка Еще одна особенность 1А-64, повышающая быстродействие, — поддержка спекулятивной загрузки. Если команда ЕОАО спекулятивна и не срабатывает, то вместо того, чтобы вызвать исключение, она просто прекращает выполняться и сообщает, что регистр, в который она должна была загрузить значение, недействителен. Для этого используется тот самый бит отравления, о котором мы упоминали в главе 4. А исключение будет вызвано только в том случае, если затем попытаться использовать этот регистр. Обычно при спекулятивной загрузке компилятор помещает команды ЕОАО перед другими командами. Поскольку выполнение этих команд начинается раньше, чем нужно, они могут завершиться еще до того, как потребуются результаты.

В том месте, где ему нужно получить значение определенного регистра, компилятор вставляет команду СНЕСК. Если значение там уже есть, команда СНЕСК рабо- Краткое содержание главы 469 тает так же, как МОР, и выполнение программы просто сразу продолжается дальше. Если значения в регистре еще нет, следующая команда вынуждена простаивать.

Суммируя, можно сказать, что в машинах с архитектурой 1А-64 реализовано несколько механизмов повышения быстродействия. Во-первых, это современная конвейеризированная трехадресная В18С-машина, поддерживающая механизм загрузки/сохранения. Во-вторых, компилятор определяет, какие команды могут выполняться одновременно, и, не вступая в конфликт, группирует эти команды в пучки. Таким образом, процессор может просто планировать обработку пучков, не думая ни о каких проверках.

В-третьих, предикация позволяет обьединить команды обоих переходов в операторе 11, устраняя при этом как условный переход, так и необходимость прогнозирования этого перехода. Наконец, спекулятивная загрузка позволяет вызывать операнды заранее, и даже если позднее окажется, что эти операнды не нужны, ничего страшного не произойдет. Дополнительные сведения о процессоре 11ашцш 2 и его микроархитектуре можно почерпнуть в дополнительной литературе 1144, 178].

Краткое содержание главы Для большинства людей уровень архитектуры набора команд — это «машинный язык». На этом уровне машина имеет память с байтовой или пословной организацией, состоящую из нескольких десятков мегабайтов и содержащую команды наподобие МОЧЕ, ЯОО и ВЕО. В большинстве современных компьютеров память организована в виде последовательности байтов, при этом 4 или 8 байт группируются в слова. Обычно в машине есть от 8 до 32 регистров, каждый из которых содержит одно слово. В некоторых машинах (например, в Репггцш 4) при обращении к словам памяти выравнивание по естественным границам ячеек не требуется, в других (например, в (Лгга8РАВС П1) это — обязательное условие.

Команды обычно имеют 1, 2 или 3 операнда, обращение к которым происходит с помощью различных режимов адресации: непосредственной, прямой, регистровой, индексной и т. д. Команды обычно могут перемешать данные, выполнять унарные и бинарные операции (в том числе арифметические и логические), совершать переходы, вызывать процедуры, выполнять циклы, а иногда и некоторые операции ввода-вывода. Типичные команды перемещают слово из памяти в регистр или наоборот, складывают, вычитают, умножают или делят два регистра или регистр и слово из памяти, или сравнивают два значения в регистрах или памяти. Довольно часто количество команд в компьютерах превышает 200. В С18С-процессорах их и того больше. Для передачи управления на уровне архитектуры команд используются различные примитивы: перехода, вызовов процедур и сопрограмм, перехвата исключений и обработки прерываний.

Переходы нужны для того, чтобы остановить одну последовательность команд и начать новую. Процедуры позволяют выделить какой-то фрагмент программы, который можно затем вызывать из различных мест этой же программы. Сопрограммы позволяют двум потокам управления работать параллельно. Перехват исключений используется для сигнализации об исключительных ситуациях (например, о переполнении). Механизм прерываний 470 Глава 5.

Уровень архитектуры набора команд дает возможность выполнять ввод-вывод параллельно с основными вычислениями, при этом, как только ввод-вывод завершается, центральный процессор получает сигнал об этом. Задачу «Ханойская башня» можно решить с использованием рекурсии. Наконец, в архитектуре 1А-64 используется вычислительная модель ЕР1С, упрощающая реализацию параллелизма в программах. Для повышения быстродействия в этой архитектуре предусмотрены группировка команд, предикация и спекулятивная загрузка. Архитектура 1А-64 способна стать удачной заменой Репг1шп 4, даже несмотря на то, что она возлагает на компилятор большую нагрузку в плане поддержания параллелизма.

Вопросы и задания 1. Слову в системе с прямым порядком следования байтов присвоено численное значение 3. Предположим, что это слово байт за байтом передается в систему с обратным порядком следования байтов и сохраняется в ней, причем исходный байт 0 соответствует целевому байту 0 и т.

д. Каким станет численное значение слова в системе с обратным порядком следования байтов? 2. В Репт1пш 4 команды могут содержать любое число байтов, даже нечетное. В П1гга5РАВС П! все команды содержат четное число байтов. В чем преимущество Репбпш 4? 3. Разработайте расширенный код операций, который позволяет закодировать в 36-разрядной команде следующее: + 7 команд с двумя 32-разрядными адресами и номером одного 3-разрядного регистра; + 500 команд с одним 15-разрядным адресом и номером одного 3-разрядного регистра; + 50 команд без адресов и регистров.

4. Пусть в машине поддерживаются 16-разрядные команды и 6-разрядные адреса. Одни команды содержат один адрес, другие — два. Если существует п двухадресных команд, то каково максимальное число одноадресных команд? 5, Можно ли разработать такой расширенный код операций, который позволял бы кодировать в 12-разрядной команде следующее (размер регистра составляет 3 бита): + 4 команды с тремя регистрами; + 255 команд с одним регистром; + 16 команд без регистров. 6.

Пусть имеется одноадресная машина с регистром-сумматором. Вот значения некоторых слов памяти: + слово 20 содержит число 40; + слово 30 содержит число 50; Вопросы и задания 471 + слово 40 содержит число 60; + слово 50 содержит число 70; Какие значения загрузят в регистр-сумматор перечисленные ниже команды? СОЯО 1ММЕ01ЯТЕ 20 ЕОЯО 01ИЕСТ 20 СОЯО 1ИОИЕСТ 20 СОЯО 1ММЕ01ЯТЕ ЗО СОЯО 01ИЕСТ ЗО ЕОЯО 1ИО!ИЕСТ ЗО 7. Для каждого из четырех видов машин — безадресной, одноадресной, двухадрес- ной и трехадресной — напишите программу вычисления следующего выражения: Х = (А «- В х С) /(Р— Е х Е). В наличии имеются следующие команды: + безадресные: РО5Н М, РОР М, ЯОО, 5ОВ, МОЕ, 01Ч; + одноадресные: ЕОАО М, 5ТОВЕ М, АОО М, 5ОВ М, Мй. М, 01Ч М; + двухадресные: МОЧ (Х = У), АОО (Х = Х«- У), 5ОВ (Х= Х вЂ” У), Мй. (Х= Хх У), 01Ч (Х = Х/У); + трехадресные: МОЧ (Х= У), А00 (Х = У«- У), 5ОВ (Х = У вЂ” 2), Мй (Х = У х 2), 01Ч (Х = У/2).

Здесь М вЂ” это 16-разрядный адрес памяти, а Х, У и 2 — либо 16-разрядные адреса, либо 4-разрядные регистры. Безадресная машина использует стек, одноадресная машина — регистр-аккумулятор, а оставшиеся две имеют 16 регистров и команды, которые оперируют всеми комбинациями ячеек памяти и регистров. Команда 5ОВ Х,У вычитает У из Х, а команда 5ОВ Х,Ч,2 вычитает 2 из Уи помешает результат в Х. Если длина кодов операций равна 8 бнт, а размеры команд кратны величине 4 бит, сколько битов нужно каждой машине для вычисления Х? 8. Придумайте такой механизм адресации, который позволяет определять в 6-разрядном поле произвольный набор из 64 адресов, не обязательно смежных.

9. В чем недостаток самомодифицирующихся программ, о котором не было упомянуто в тексте этой главы? 10. Переделайте следующие формулы из инфиксной записи в обратную поль- скую запись: 1) А-'-В«- С«-Р«-Е; 2) (А «- В) х (С э Р) «- Е; 3) (АхВ) «-(СхР) «-Е; 4) (А — В) х (((С вЂ” Р х Е)/Е)/С) х Н 11. Какие из следующих пар формул в обратной польской записи математически эквивалентны? 1) А В «- С + и Л В С «- «-; 2) Л — С вЂ” иАВ С вЂ” —; 3) А В х С «- иА В С «- х.

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

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

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

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