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

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

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

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

Часто эти два утверждения сочетаются. Например: 2 = Т05. 1П2) дого П. е1зе дото 02 В результате такой записи МАЕ породит микрокоманду, в которой значение регистра ТО8 пропускается через АЛУ, но при этом нигде не сохраняется, так что это значение устанавливает бит Х. Сразу после загрузки из АЛУ бит Х соединяется со старшим битом регистра МРС через схему ИЛИ, вследствие чего 292 Глава 4. Уровень микроархитектуры Эта запись сообщает микроассемблеру, что нужно использовать значение оалае для поля )ч)ЕХТ АОПКЕЯБ и установить бит )МРС, так чтобы регистр МВК соединялся через схему ИЛИ с регистром МРС вместе со значением )ч)ЕХТ А1П)КЕЯЯ. Если значение ра1ие равно О, достаточно написать 9010 (МВЙ) Отметим, что только 8 младших битов регистра МВК соединяются с регистром МРС (см.

рис. 4.5), поэтому вопрос о знаковом расширении тут не возникает. Также отметим, что используется то значение МВК, которое доступно в конце текущего цикла. В момент вызова в текущей микрокоманде выбирать следующую микрокоманду уже поздно. Реализация 14ЧМ с использованием микроархитектуры М! с-1 Сейчас мы уже дошли до того момента, когда можно соединить все части вместе.

В табл. 4.3 приводится микропрограмма, которая работает на микроархитектуре М)с-1 и интерпретирует 1) ьгМ. Программа очень короткая — всего 112 микрокоманд. Таблица состоит из трех столбцов. В первом столбце дано символическое обозначение микрокоманды, во втором — сама микрокоманда, в третьем — комментарий. Как мы уже отмечали, последовательность микрокоманд не обязательно соответствует последовательности адресов в управляющей памяти.

Таблица 4.3. Микропрограмма длл микроархитектуры М)с-1 Микрокоманде Операции Комментарий Ма)п1 РС = РС + 1; 1етсл; цо1о(МВВ) МВВ содераит код операции; получение следующего байта; отсылка цо1о Ма)п1 МАВ=ЗР=ЗР— 1; гб пор1 Ничего не происходит )асЫ1 Чтение слова, идущего после верхнего слова стека )абб2 н =ТОЗ Н = вершина стека )аббз МОВ = тОЗ = МОВ + Н; шг; цо(о Ма)п1 Суммирование двух верхних слов; запись суммы в верхнюю позицию стека зюЫ МАВ = ЗР = ЗР— 1; гб Чтение слова, идущего после верхнего слова стека )виЬ2 н =ТОЗ Н = вершина стека )вОЬЗ МОВ = ТОЗ = МО — Н; аг; цо1о Ма)п1 Вычитание; запись результата в вершину стека адрес следующей микрокоманды будет вызван либо по (.2, либо по Ь1. Значение регистра МРС стабилизируется, и он сможет использовать его для вызова следующей микрокоманды.

Наконец, нам нужна специальная запись, чтобы задействовать бит )МРС: цстс (МВВ ОВ ка)ие) Пример реализации микроархитектуры 293 Комментарий Микрокоманде Операции МАВ = ЗР = ЗР— 1; гб !асс 1 !апб2 Н = ТОЗ Н = вершина стека МОВ = тОЗ = МОВ И Н; вг; ро1о Ма1п1 !апбз Юг1 МАй = ЗР = ЗР— 1; и! Юг2 Н = ТОЗ Н = вершина стека югз МОВ = ТОЗ = МОВ ИЛИ Н; вг; ро1о Ма!п1 МАВ = ЗР = ЗР + 1 бцр1 МОВ = Т08; вг; ро1о Ма!п1 МАВ = ЗР = ЗР— 1; гб бир2 Запись нового слова в стек рор! рор2 ТОЗ = МОВ; ро1о Ма!п1 МАй = ЗР = ЗР— 1; гб рорз авар! МАВ = ЗР звар2 Н = МОВ; вг эварз МОй = ТОЗ ввар4 МАВ = ЗР— 1; вг вварб ТОЗ = Н; ро1о Ма!п1 ЗР = МАВ = ЗР + 1 Обновление ТОЗ Ырцз!12 РС = РС + 1; 1е1сп Ырцзлз МОВ = ТОЗ = МВВ; вг; ро1о Ма!п! !1оаб1 Н = 1.Н 1!оаб2 МАВ = МВВО е Н; гб !!оаоз МАВ = ЗР = ЗР +! РС = РС ь 1; 1е1сщ вг йоаб4 Продолжение Ф вварб Ь!Рцз!!! Чтение слова, идущего после верхнего слова стека Операция И; запись результата в вершину стека Чтение слова, идущего после верхнего слова стека Операция ИЛИ; запись результата в вершину стека Увеличение ЗР на 1 и копирование результата в регистр МАВ Чтение слова, идущего после верхнего слова стека Программа ждет, пока считается из памяти новое значение регистра ТОЗ Копирование нового слова в регистр ТОЗ Установка регистра МАВ на значение ЗР— 1; чтение второго слова иэ стека Установка регистра МАВ на верхнее слово стека Сохранение значения ТОЗ в регистре Н; запись второго слова в вершину стека Копирование прежнего значения ТОЗ в регистр МОВ Установка регистра МАй на значение ЗР-1; запись второго слова в стек МВй = байт, который нужно поместить в стек Увеличение РС на 1; вызов кода следующей операции Добавление к байту дополнительного знакового разряда и запись значения в стек МВВ содержит индекс; копирование значения 1Н в Н МАВ = адрес локальной переменной, которую нужно поместить в стек Регистр ЗР указывает на новую вершину стека; подготовка к записи Увеличение значения РС на 1; вызов кода следующей операции; запись вершины стека 294 Глава 4.

Уровень микроархитектуры Таблица 4.3 (продолжение ! Микрокоманда Операции Комментарий Обновление ТОЗ !з1оге2 мАЯ = мВЯ0+ н !з1огез МОЯ = Т08; вг Обновление ТОЗ в!ОЕ2 ротс(МВя ИЛИ Ох!ОО) и!бе !!оаб! РС = РС+ 1;1е1сл вк!е !!оаб2 Н = МВЯ0 «8 мое йоабз Н=МВЯ0 ИЛИ Н чнбе йоаб4 Мдя = СЧ+ Н; гб; сото йоаСЗ РС = РС+ 1;1е1си вк1е !зтоге! иксе 'а1оге2 Н = МВЯ0 «8 ик1е !з1огез Н = МВЯ0 ИЛИ Н члбе !з1оге4 МАЯ = !.Ч + Н; гб; ро10 !з1огез РС = РС+ 1;1е1сл !Дс и! Н = МВЯ0 «8 Мс в2 Н = МВЯ0 ИЛИ Н Мс иЗ МАЯ = Н+ СРР; гб; йо1о !!оаоз МАЯ = адрес константы в наборе констант !Ос и4 впс1 Н = !.Ч кпс2 МАя = МВя0+Н; гс йпсз РС = РС + 1; 1е1си Вызов константы !!оаб5 !з1оге! !з1оге4 !з1оге5 !з1огеб ччме1 ТОВ = МОя; йо1о Ма!п1 Н = !.Ч ЗР= МАЯ = ЗР— 1; го РС = РС + 1; !е1сп Т08 = МОЯ; ро1о Ма!п1 РС = РС+ 1;1е1сп МВЯ содержит индекс; копирование значения СЧ в Н МАЯ = адрес локальной переменной, в которой нужно сохранить слово из стека Копирование значения Т08 в регистр МОЯ; запись слова Чтение из стека второго слова сверху Увеличение РС на 1; вызов следующего кода операции Вызов байта операнда или кода следующей операции Межуровневый переход к старшим адресам МВЯ содержит первый байт индекса; вызов второго байта Н = первый байт индекса, сдвинутый влево на 8 бит Н = 16-разрядный индекс локальной переменной МАЯ = адрес локальной переменной, которую нужно записать в стек МВЯ содержит первый байт индекса; вызов второго байта Н = первый байт индекса, сдвинутый влево на 8 бит Н = 16-разрядный индекс локальной переменной МАЯ = адрес локальной переменной, в которую нужно записать слово из стека МВЯ содержит первый байт индекса; вызов второго байта Н = первый байт индекса, сдвинутый влево на 8 бит Н = 16-разрядный индекс константы в наборе констант МВЯ содержит индекс; копирование значения ! Ч в Н Копирование суммы значения СЧ и индекса в регистр МАЯ; чтение переменной Пример реализации микроархитектуры 295 Операции Микрокоманда Н = МОВ РС = РС в 1; 1е1сП Ипс4 Ипс5 Ипсб ОРС = РС вЂ” 1 РС = РС+ 1; 1е1сп цо1о1 цо1о2 Н = МВВ «8 цо103 ц0105 ц0106 (611 ИИ2 ИИЗ (614 Иец! Иеа2 Иерз Иец4 И (сгпрец1 И (сгпрец2 И (сгпрецз Н=МОН;гб ОРС = ТОЗ ТОЗ = МОВ Г2 РЗ (пчоке ч(пцай Н = МВВО «8 (пчоке Иг1иа!2 Продолжение Ф И !сгпрец4 И (сптрец5 И (сгпрецб МОН = МВВ+ Н; шг! цото Ма!п1 Н = МВВО ИДИ Н РС = ОРС + Н; (е1сП цо1о Ма(п! МАН = ЗР = ЗР— 1; го ОРС = ТОЗ ТОЗ = МОН й = ОРС; И(й) цо10 Т; е(зе ц010 Р МАВ=ЗР=ЗР— 1;гп ОРС = ТОЗ ТОЗ = МОН 7 = ОРС; И(7) цо1о Т; е(зе цото Р МАВ = ЗР = ВР— 1; гб МАН = ЗР = ЗР— 1 7 = ОРС вЂ” Н; И(7) цо1о Т; е(зе цо10 Р ОРС = РС вЂ” 1; 1етсП; цо1о 00102 РС= РС+ ! РС = РС+ 1; 1е1сП цо1о Ма(п! РС = РС + 1; 1е1сл Комментарий Копирование переменной в регистр Н Вызов следующего кода операции Запись суммы в регистр МОВ; обновление переменной Сохранение адреса кода операции МВВ = первый байт смещения; вызов второго байта Сдвиг первого байта влево на 8 бит и сохранение его в регистре Н Н =16-разрядное смещение перехода Суммирование смещения и ОРС Ожидание вызова следующего кода операции Чтение второго сверху слова в стеке Временное сохранение ТОЗ в ОРС Запись новой вершины стека в ТОЗ Переход по биту й Чтение второго сверху слова в стеке Временное сохранение ТОЗ в ОРС Запись новой вершины стека в ТОЗ Переход по биту 7 Чтение второго сверху слова в стеке Установка регистра МАВ на чтение новой вершины стека Копирование второго слова из стека в регистр Н Временное сохранение ТОЗ в ОРС Помещение новой вершины стека в ТОЗ Если два верхних слова равны, осуществляется переход к Т; если они не равны, осуществляется переход к Г То же, что цо1о1; нужно для адреса целевого объекта Пропуск первого байта смещения РС указывает на следующий код операции Ожидание вызова кода операции МВВ = первый байт индекса; увеличение РС на 1; вызов второго байта Сдвиг первого байта на 8 бит и сохранение значения в регистре Н 296 Глава 4.

Уровень микроархитектуры Комментарий !пчохе чщца!4 МАЙ = СРР+Н; гб 1пчо1се аоца!8 Н = МВЙО «8 Н = число параметРов 1ге1цгп1 МАЙ = ВР = Еч! го Процесс считывания ЕУ = МАЙ = МОЙ; гп 1ге1цгп4 МАЙ = ЕН + 1 Таблица 4.3 (продолжение) Макрокоманда Операции 1пчохе айса!3 Н = МВЙО ИЛИ Н !пчохе аоца15 ОРС = РС+ ! 1пчо1се аг)ца16 РС = МОЙ; 1е1сл !птахе аг1ца17 РС = РС+ 1; 1е1сл 1пчохе айса!9 Н = МВЙ!! ИЛИ Н 1пчоке чк1цаИО РС = РС+ 1; 1е1сл !пуске апцай ! ТОВ = ВР— Н !па!хе ч)Пцай2 ТОВ = МАЙ = ТОВ + 1 !па!хе аг)цаИЗ РС = РС+ 1; 1е1сл 1пчо1се ч)Псай4 Н = МВЙО «8 1пчо1се ч1ПсаИ5 Н = МВЙО ИЛИ Н 1пчохе ч)гтцайб МОЙ = ВР+ Н+ 1; вг 'ивоне агтцаИ7 МАЙ = ВР = МОй 1пчо1се ч)гсцаИ8 МОЙ = ОРС; вг 1пчоке ч1г1цай9 МАЙ = ВР = ВР+ 1 1пчохе апов!20 МОЙ = 1.Ч; вг 1пчо!се аг)ца121 РС = РС+ 1; 1е1сл 1пчо1се аг1ца122 Еу = ТОВ; оо1о Ма!и! 1геЬгп2 1гетцгп3 Н = смещение указателя процедуры от регистра СРР Вызов указателя процедуры из набора констант Временное сохранение значения РС в регистре ОРС Регистр РС указывает на новую процедуру; вызов числа параметров Вызов второго байта числа параметров Сдвиг первого байта на 8 бит и сохранение значения в регистре Н Вызов первого байта размера области локальных переменных ТОВ = адрес ОВчйЕР— 1 ТОВ = адрес 083ЙЕР (новое значение ЕУ) Вызов второго байта размера области локальных переменных Сдвиг первого байта на 8 бит и сохранение значения в регистре Н Н = размер области локальных переменных Перезапись 083ЙЕР со связующим указателем Установка регистров ВР и МАЙ на адрес ячейки, в которой содержится старое значение РС Сохранение старого значения РС над локальными переменными ВР указывает на ячейку, в которой хранится старое значение ! у Сохранение старого значения ЕУ над сохраненным значением РС Вызов первого кода операции новой процедуры Установка значения 1.У на первый адрес фрейма локальных переменных Переустановка регистров ВР и МАй для вызова связующего указателя Установка регистра ьу на связующий указатель; вызов старого значения РС Установка регистра МАЙ на чтение старого значения ЕН Пример реализации микроархитектуры 297 Комментарий Микрокоманда Операции Восстановление РС; вызов следующего кода операции !геюгп5 РС = МОВ; го; ГеГсл ~геюгп6 Вегсгп7 вешгпв МАН = 8Р 'ьЧ = МОВ МОВ = 708; нгг; ВОГо Мв~п1 Установка МАН на запись Т08 Восстановление ~.Ч Сохранение результата в исходной вершине стека Выбор названий для большинства регистров, изображенных на рис.

4.1, должен быть очевидным. Регистры СРР (СопзТапс Роо1 Ро1пФег — указатель набора констант), 1Х (1оса! Уаг1аЫе — локальная переменная) и ЯР (Ятаск Рошсег— указатель стека) содержат указатели на адреса набора констант, фрейма локальных переменных и верхнего элемента в стеке соответственно, а регистр РС (Ргоягаш Соипсег — счетчик команд) содержит адрес байта, который нужно вызвать из потока команд следующим.

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

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

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

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