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

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

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

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

Усовершенствованная мицзопрограмма для выполнения команды РОР Разработка уровня микроархитектуры 31 1 Мы видим, что в микрокоманде 11оаб1 значение ЕУ копируется в регистр Н. Это нужно только для того, чтобы сложить Н с МВЮ.1 в микрокоманде 11оаб2. В разработке с двумя шинами нет возможности складывать два произвольных регистра, поэтому один из них сначала нужно скопировать в регистр Н. В 3-шинной архитектуре мы можем сэкономить один цикл, как показано в табл. 4.7. Мы добавили основной цикл к команде 11.0А0, но при этом длина пути не увеличилась и не уменыцилась.

Однако дополнительная шина сокращает общее время выполнения команды с шести циклов до пяти. Теперь мы знаем вторую возможность сокращения длины пути: Переход от 2-шинной н 3-шинной архитектуре. Таблица 4.7. Микропрограмма для выполнения команды 1! ОАО в 3-шинной архитектуре Комментарий Микрокоманде Операции МАЙ = адрес локальной переменной, которую нужно поместить в стек МАИ = МВИЦ+ ЬУ; гб 11ова! МАП = 8Р = Вр и 1 Регистр ВР указывает нв новую вершину стека; подготовка к записи 1!ова2 Увеличение РС нв 1; вызов следующего кода операции; запись вершины стека РС = РС ж 1; 1е1сй; иг 11овсз ТО8 = МОЯ Обновление ТОВ 11овб4 воааб РС = РС+ 1; 1е1ся; до1о(МВН) Регистр МВИ уже содержит код операции; вызов индексного байта Блок выборки команд Обе описанные возможности вполне привлекательны, но чтобы достичь существенного продвижения, требуется нечто более радикальное. Давайте вернемся чуть-чуть назад и рассмотрим обычные составляющие любой команды: поля вызова и декодирования.

Отметим, что в каждой команде могут происходить следующие операции: + значение РС пропускается через АЛУ и увеличивается на 1; + РС используется для вызова следующего байта в потоке команд; + операнды считываются из памяти; + операнды записываются в память; + АЛУ выполняет вычисление, и результаты сохраняются в памяти. Если команда содержит дополнительные поля (для операндов), каждое поле должно вызываться явно, по одному байту за раз. Поле можно использовать только после того, как эти байты будут объединены. При вызове и компоновке поля АЛУ должно для кажлого байта увеличивать РС на единицу, а затем объединять получившийся индекс или смещение.

Когда, помимо выполнения основной работы команды, приходится вызывать и объединять поля этой команды, АЛУ используется практически в каждом цикле. Чтобы объединить основной цикл с какой-нибудь микрокомандой, нужно освободить АЛУ от некоторых задач подобного рода. Для этого можно ввести второе 312 Глава 4. Уровень микроархитектуры АЛУ, хотя полнофункциональное АЛУ в большинстве случаев для этого не потребуется.

Отметим, что АЛУ часто применяется для копирования значения из одного регистра в другой. Эти циклы можно убрать, если ввести дополнительные тракты данных, которые не проходят через АЛУ. Полезно будет, например, создать тракт от ТОБ к М1Ж или от МОК к ТОК, поскольку верхнее слово стека часто копируется из одного регистра в другой. В микроархитектуре М1с-1 с АЛУ можно снять большую часть нагрузки, если создать независимый блок для вызова и обработки команд. Этот блок, который называется блоком выборки команд (1пзггасг1оп РегсЬ Пшц 1Н)), может независимо от АЛУ увеличивать значение РС на 1 и вызывать байты из потока байтов до того, как они понадобятся.

Блок 1Р П содержит схему инкремента, которая по строению гораздо проще, чем полный сумматор. Разовьем эту идею. Блок выборки команд может также объединять 8-разрядные и 16-разрядные операнды, чтобы они могли использоваться сразу, как только потребуются. Это можно осуществить по крайней мере двумя способами; + Блок 1Н5 может интерпретировать каждый код операции, определять, сколько дополнительных полей нужно вызвать, и собирать их в регистр, который будет использоваться основным операционным блоком.

+ Блок 1РП может постоянно предоставлять следующие 8- нли 16-разрядные фрагменты данных независимо от того, имеет это смысл или нет. Тогда основной операционный блок может запрашивать любые данные, которые ему требуются. Рисунок 4.18 иллюстрирует второй способ реализации 1РП. Вместо одного 8-разрядного регистра МВК здесь есть два регистра МВК: 8-разрядный МВК1 и 16-разрядный МВК2.

Блок 1Н) следит за самым последним байтом или байтами, которые поступили в основной операционный блок. Кроме того, он передает следующий байт в регистр МВК, как и в архитектуре М)с-1, только в данном случае он автоматически определяет, когда значение регистра считано, вызывает следующий байт и сразу загружает его в регистр МВК1. Как и в микроархитектуре М1с-1, он имеет два интерфейса с шиной В: МВК1 и МВК10. Первый получает знаковое расширение до 32 битов, второй дополнен нулями.

Регистр МВК2 функционирует точно так же, но содержит следующие 2 байта. Он имеет два интерфейса с шиной В: МВК2 и МВК20, первый из которых расширен по знаку, а второй дополнен до 32 бит нулями. Блок выборки команд отвечает за вызов байтов. Для этого он использует стандартный 4-байтный порт памяти, вызывая полные 4-байтные слова заранее и загружая следующие байты в сдвиговый регистр, который выдает их по одному или по два за раз в том порядке, в котором они вызываются из памяти.

Задача сдвигового регистра — сохранить последовательность поступающих байтов для загрузки в регистры МВК1 и МВК2. МВК1 всегда содержит самый старший байт сдвнгового регистра, а МВК2— 2 старших байта (старшим является левый байт), которые формируют 16-разрядное целое число (см. рис. 4.14, б). Два байта в регистре МВК2 могут быть получены из различных слов памяти, поскольку 1)Ъ'М-команды никак не связаны с границами слов. Разработка уровня микроархитектуры 313 мввг Шина В Запись в регистр РС Рис. 4.18. Блок выборки команд в микроархитекгуре М~с-1 Всякий раз, когда считывается регистр МВВ1, значение сдвигового регистра сдвигается вправо на 1 байт. Всякий раз, когда считывается регистр МВВ2, значение сдвигового регистра сдвигается вправо на 2 байта.

Затем в регистры МВВ1 и МВВ2 загружаются самый старший байт и пара самых старших байтов соответственно. Если к этому моменту в сдвиговом регистре остается достаточно места для целого слова, блок выборки команд начинает цикл обращения к памяти, чтобы считать следующее слово. Мы предполагаем, что когда считывается любой из регистров МВВ, он заполняется к началу следующего цикла, поэтому новое значение можно считывать уже в последующих циклах. Блок выборки команд может быть смоделирован в виде конечного автомата (Е1пйе 81а1е МасЬ1пе, ЕЯМ), как показано на рис. 4.19. Любой конечный автомат характеризуется состояниями (на рисунке это кружочки) и переходами (это дуги от одного состояния к другому). Каждое состояние — это одна из возможных ситуаций, в которой может находиться конечный автомат, Данный конечный автомат имеет семь состояний, которые соответствуют семи состояниям сдвигового регистра, показанного на рис. 4.18.

Эти семь состояний соответствуют количеству байтов, которые находятся в данный момент в регистре (от Ю до 6 включительно). Вызов слова из памяти означает считывание слова из памяти и помещение 4 байт в сдвиговый регистр. Переход МВВ1 происходит, когда выполняется чтение регистра МВВ1, а переход МВК2 — когда выполняется чтение регистра МВВ2. Каждая дуга отражает возможное событие. В нашем конечном автомате возможны три различных события. Первое — чтение одного байта из регистра МВК1. Оно активизирует сдвиговый регистр, самый правый байт в нем исчезает, и осуществляется переход в другое состояние (меньшее на 1).

Второе событие — чтение 31 4 Глава 4. Уровень микроархитектуры 2 байт из регистра МВК2. При этом осуществляется переход в состояние, меньшее на 2 (например, из состояния 2 в состояние О или из состояния 5 в состояние 3). Оба этих перехода вызывают перезагрузку регистров МВК1 и МВК2. Когда конечный автомат переходит в состояния О, 1 или 2, инициируется обращение к памяти, чтобы вызвать новое слово (предполагается, что память уже не занята считыванием предыдущего слова).

При поступлении слова номер состояния увеличивается на 4. Вызов слова из памяти МВй2 Рис. 4.19. Конечный автомат для реализации блока выборки команд Чтобы функционировать правильно, схема выборки команд должна блокироваться в том случае, если от нее требуют произвести какие-то действия, которые она выполнить не может (например, передать значение в МВК2, когда в сдвиговом регистре находится только 1 байт, а память все еще занята вызовом нового слова). Кроме того, блок выборки команд не может выполнять несколько операций одновременно, поэтому вся поступающая информация должна передаваться последовательно.

Наконец, всякий раз, когда изменяется значение РС, блок выборки команд должен обновляться. Все эти детали усложняют работу блока. Однако многие устройства разрабатываются в виде конечных автоматов. Блок выборки команд имеет собственный регистр адреса ячейки памяти, называемый 1МАК и используемый для обращения к памяти, когда нужно вызвать новое слово.

У этого регистра есть специальная схема инкремента, поэтому основному АЛУ не требуется прибавлять 1 к значению РС для вызова следующего слова. Блок выборки команд должен контролировать шину С, чтобы каждый раз при загрузке регистра РС новое значение РС также копировалось в 1МАК. Поскольку новое значение в регистре РС может быть не на границе слова, блок выборки команд должен вызвать нужное слово и скорректировать значение сдвигового регистра соответствующим образом.

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

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

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

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