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

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

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

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

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

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

Таненбаун Э. Архитектура компьютера — Спб.: Питер, 2007. — 844 c.
ISBN 5-469-01274-3
Скачать (прямая ссылка): arhkomputera2007.DjVu
Предыдущая << 1 .. 152 153 154 155 156 157 < 158 > 159 160 161 162 163 164 .. 422 >> Следующая

и загружая следующие байты в сдвиговый регистр, который выдает их по
одному или по два за раз в том порядке, в котором они вызываются из
памяти. Задача сдвигового регистра - сохранить последовательность
поступающих байтов для загрузки в регистры MBR1 и MBR2.
MBR1 всегда содержит самый старший байт сдвигового регистра, a MBR2 - 2
старших байта (старшим является левый байт), которые формируют 16-раз-
рядное целое число (см. рис. 4.14, б). Два байта в регистре MBR2 могут
быть получены из различных слов памяти, поскольку IJVM-команды никак не
связаны с границами слов.
Разработка уровня микроархитектуры 313
MBR2
Рис. 4.18. Блок выборки команд в микроархитектуре Mic-1
Всякий раз, когда считывается регистр MBR1, значение сдвигового регистра
сдвигается вправо на 1 байт. Всякий раз, когда считывается регистр MBR2,
значение сдвигового регистра сдвигается вправо на 2 байта. Затем в
регистры MBR1 и MBR2 загружаются самый старший байт и пара самых старших
байтов соответственно. Если к этому моменту в сдвиговом регистре остается
достаточно места для целого слова, блок выборки команд начинает цикл
обращения к памяти, чтобы считать следующее слово. Мы предполагаем, что
когда считывается любой из регистров MBR, он заполняется к началу
следующего цикла, поэтому новое значение можно считывать уже в
последующих циклах.
Блок выборки команд может быть смоделирован в виде конечного автомата
(Finite State Machine, FSM), как показано на рис. 4.19. Любой конечный
автомат характеризуется состояниями (на рисунке это кружочки) и
переходами (это дуги от одного состояния к другому). Каждое состояние -
это одна из возможных ситуаций, в которой может находиться конечный
автомат. Данный конечный автомат имеет семь состояний, которые
соответствуют семи состояниям сдвигового регистра, показанного на рис.
4.18. Эти семь состояний соответствуют количеству байтов, которые
находятся в данный момент в регистре (от 0 до 6 включительно). Вызов
слова из памяти означает считывание слова из памяти и помещение 4 байт в
сдвиговый регистр. Переход MBR1 происходит, когда выполняется чтение
регистра MBR1, а переход MBR2 - когда выполняется чтение регистра MBR2.
Каждая дуга отражает возможное событие. В нашем конечном автомате
возможны три различных события. Первое - чтение одного байта из регистра
MBR1. Оно активизирует сдвиговый регистр, самый правый байт в нем
исчезает, и осуществляется переход в другое состояние (меньшее на 1).
Второе событие - чтение
314
Глава 4. Уровень микроархитектуры
2 байт из регистра MBR2. При этом осуществляется переход в состояние,
меньшее на 2 (например, из состояния 2 в состояние 0 или из состояния 5 в
состояние 3). Оба этих перехода вызывают перезагрузку регистров MBR1 и
MBR2. Когда конечный автомат переходит в состояния 0, 1 или 2,
инициируется обращение к памяти, чтобы вызвать новое слово
(предполагается, что память уже не занята считыванием предыдущего слова).
При поступлении слова номер состояния увеличивается на 4.
Вызов слова из памяти
Рис. 4.19. Конечный автомат для реализации блока выборки команд
Чтобы функционировать правильно, схема выборки команд должна
блокироваться в том случае, если от нее требуют произвести какие-то
действия, которые она выполнить не может (например, передать значение в
MBR2, когда в сдвиговом регистре находится только 1 байт, а память все
еще занята вызовом нового слова). Кроме того, блок выборки команд не
может выполнять несколько операций одновременно, поэтому вся поступающая
информация должна передаваться последовательно. Наконец, всякий раз,
когда изменяется значение PC, блок выборки команд должен обновляться. Все
эти детали усложняют работу блока. Однако многие устройства
разрабатываются в виде конечных автоматов.
Блок выборки команд имеет собственный регистр адреса ячейки памяти,
называемый IMAR и используемый для обращения к памяти, когда нужно
вызвать новое слово. У этого регистра есть специальная схема инкремента,
поэтому основному АЛУ не требуется прибавлять 1 к значению PC для вызова
следующего слова. Блок выборки команд должен контролировать шину С, чтобы
каждый раз при загрузке регистра PC новое значение PC также копировалось
в IMAR. Поскольку новое значение в регистре PC может быть не на границе
слова, блок выборки команд должен вызвать нужное слово и скорректировать
значение сдвигового регистра соответствующим образом.
Основной операционный блок записывает значение в PC только в том случае,
если необходимо изменить характер последовательности байтов. Это
происходит в команде перехода, а также в командах INVOKEVIRTUAL и
IRETURN.
Поскольку микропрограмма больше не увеличивает PC явным образом при
вызове кода операции, блок выборки команд должен обновлять PC сам. Как
это происходит? Блок IFU способен распознать, что байт из потока команд
получен, то есть что значения регистров MBR1 и MBR2 (или их вариантов без
знака) уже считаны. С регистром PC связана отдельная схема инкремента,
Предыдущая << 1 .. 152 153 154 155 156 157 < 158 > 159 160 161 162 163 164 .. 422 >> Следующая