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

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

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

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

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

Таким образом, он может сам вызывать следующий код операции или операнд. Возможно, он даже будет работать асинхронно относительно другой части процессора и вызывать одну или несколько команд заранее. Один из наиболее трудоемких процессов при выполнении команд — вызов 2-байтного смещения и сохранение его в регистре Н для подготовки к сложению (например, при переходе к РС + и байт). Одно из возможных решений — увеличить порт памяти до 16 бит, но это значительно усложнит операцию, поскольку требуемые 16 бит могут перекрывать границы слова, тогда даже считывание из памяти 32 бит за одно обращение не обязательно приведет к вызову обоих нужных нам байтов. Одновременное выполнение нескольких операций — самый продуктивный подход.

Он дает возможность значительно увеличить быстродействие компьютера. Даже простое перекрытие вызова и выполнения команды чрезвычайно эффективны. При более сложных технологиях допустимо одновременное выполнение нескольких команд. Вообще говоря, эта идея является основой проектов современных компьютеров. Далее мы обсудим некоторые технические приемы, позволяющие воплотить этот подход в жизнь. На одной чаше весов находится быстродействие, на другой — стоимость.

Стоимость можно измерять различными способами, но точное определение стоимости дать очень трудно. В те времена, когда процессоры собирались из дискретных компонентов, достаточно было подсчитать общее число этих компонентов. В настоящее время процессор целиком помещается на одну микросхему, но большие и более сложные микросхемы стоят гораздо дороже, чем более простые микросхемы небольшого размера.

Можно посчитать отдельные компоненты (транзисторы, вентили, функциональные блоки), но обычно это число не так важно, как размер контактного участка, необходимый для интегральной схемы. Чем больше участок, тем больше микросхема. И стоимость микросхемы растет гораздо быстрее, чем занимаемое ею пространство. По этой причине разработчики часто измеряют стоимость в единицах, применимых к «недвижимости», то есть с точки зрения пространства, которое требуется для микросхемы (предполагаем, что площадь поверхности измеряется в пикоакрах). В истории компьютерной индустрии одной из наиболее тщательно проработанных микросхем является двоичный сумматор.

Были реализованы тысячи 308 Глава 4. Уровень микроархитектуры проектов, и самые быстрые двоичные сумматоры значительно превосходит по быстродействию наиболее медленные. Естественно, высокоскоростные сумматоры гораздо сложнее низкоскоростных. Специалистам по разработке систем приходится останавливаться на определенном соотношении быстродействия и занимаемого пространства. Сумматор — не единственный компонент, допускающий различные варианты разработки. Практически любой компонент системы может быть спроектирован таким образом, что он будет функционировать с более высокой или с более низкой скоростью, при этом, естественно, разные модели будут различаться по стоимости. Главной задачей разработчика является определение тех компонентов системы, усовершенствование которых может максимально повлиять на быстродействие компьютера.

Интересно отметить, что если какой-нибудь компонент заменить более быстрым, это не обязательно повлечет за собой рост общей производительности. В следующих подразделах мы рассмотрим некоторые аспекты разработки и возможные соотношения стоимости и быстродействия. Одним из ключевых факторов в определении скорости работы генератора синхронизирующего сигнала является количество действий, которые должны быть сделаны за один цикл.

Очевидно, чем больше действий должно быть сделано, тем длиннее цикл. Однако все не так просто, ведь аппаратное обеспечение способно выполнять некоторые операции параллельно, поэтому в действительности длина цикла зависит от количества последовательных операций в одном цикле. Должен также учитываться объем декодирования. Посмотрите на рис. 4.5. Вспомните, что в АЛУ может передаваться значение одного из девяти регистров, и чтобы определить, какой именно регистр нужно выбрать, требуется всего 4 бита в микрокоманде.

К сожалению, такая экономия дорого обходится. Схема декодера вносит дополнительную задержку в работу компьютера. Это значит, что какой бы регистр мы ни выбрали, он получит команду (и передаст свое содержимое на шину В) немного позже. Следовательно, АЛУ получает входные сигналы и выдает результат также с небольшой задержкой. Соответственно, этот результат тоже поступает на шину С для записи в один из регистров чуть позже. Поскольку задержка часто является фактором, который определяет длину цикла, это значит, что генератор синхронизирующего сигнала не сможет функционировать с такой скоростью и весь компьютер должен работать немного медленнее. Таким образом, существует определенная зависимость между быстродействием и стоимостью.

Если сократить каждое слово управляющей памяти на 5 бит, это приведет к снижению скорости работы генератора. Инженер при разработке компьютера должен принимать во внимание его предназначение, чтобы сделать правильный выбор. В компьютере с высокой производительностью использовать декодер не рекомендуется, а вот для дешевой машины он вполне подойдет. Сокращение длины пути Микроархитектура М1с-1 имеет относительно простую структуру и работает довольно быстро, хотя эти две характеристики очень трудно совместить.

В общем случае простые машины не являются высокоскоростными, а высокоскоростные Разработка уровня микроархитектуры 309 машины довольно сложны. В процессоре М1с-1 используется минимум аппаратного обеспечения: 10 регистров, простое АЛУ (см. рис. 3.18), продублированное 32 раза, декодер, схема сдвига, управляющая память и некоторые связующие элементы. Для построения всей системы требуется менее 5000 транзисторов, плюс управляющая память (ПЗУ), плюс основная память (ОЗУ). Мы уже показали, как можно воплотить 1)у'М мнкропрограммно, использовав минимум аппаратуры. Теперь рассмотрим альтернативные варианты. Сначала мы выясним, какими способами можно снизить количество микрокоманд в одной команде (то есть каким образом можно сократить длину пути), а затем перейдем к другим подходам. Таблица 4.4.

Новая микропрограмма для выполнения команды РОР Микрокоманда Операции Комментарий МАП = ЯР = ЯР— 1; гб Считывание второго сверху слова в стеке рор1 рор2 Ожидание, пока из памяти считается новое значение ТОЯ ТОЯ = МОП; По1о Мз~п1 Копирование нового слова в регистр ТОЯ рорз РС = РС ь 1; 1е1сл; Во1о(МВГ0 Регистр МВП содержит код операции; вызов следующего байта; переход Ма!п1 В табл.

4.5 последовательность сокращена до трех команд за счет того, что в цикле рор2 АЛУ не используется. Отметим, что в конце этой последовательности сразу осуществляется переход к коду следующей команды, поэтому требуется всего 3 цикла. Этот небольшой трюк позволяет сократить время выполнения Слияние цикла интерпретатора с микропрограммой В микроархитектуре Мтс-1 основной цикл состоит из микрокоманды, которая должна выполняться в начале каждой 11УМ-команды. В некоторых случаях допустимо ее перекрытие предыдущей командой.

В каком-то смысле эта идея уже получила свое воплощение. Вспомните, что во время цикла Иатп1 код следующей операции уже находится в регистре МВК. Этот код операции вызывается либо во время предыдущего основного цикла (если у предыдущей команды не было операндов), либо при выполнении предыдущей команды. Эту идею можно развивать и дальше.

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

В табл. 4.4 приведена последовательность выполнения микрокоманд для команды РОР. Основной цикл идет перед каждой командой и после каждой команды, в таблице этот цикл показан только после команды РОР. Отметим, что выполнение этой команды занимает 4 цикла: три цикла специальных микрокоманд команды РОР и один основной цикл. 310 Глава 4. Уровень микроархитектуры следугощей микрокоманды на один цикл, поэтому, например, последующая ко- манда (АОО сокращается с четырех циклов до трех.

Это эквивалентно повышению частоты синхронизирующего сигнала с 250 МГц (каждая микрокоманда по 4 нс) до 333 МГц (каждая микрокоманда по 3 нс). Микрокоманде Операции Комментарий МАВ = ЗР = 8Р— 1; ге Считывание второго сверху слова в стеке рор1 Ма(п1.рор РС = РС ч 1; 1е1сл Регистр МВВ содержит код операции; вызов следующего байта ТОЗ = МОВ; ро1о(МВВ] Копирование нового слова в регистр ТОЗ; переход к коду операции рорз Команда РОР очень хорошо подходит для такой доработки, поскольку она содержит цикл, в котором АЛУ не используется, а основной цикл требует АЛУ. Таким образом, чтобы сократить длину команды на одну микрокоманду,нужно в этой команде найти цикл, где АЛУ не используется.

Такие пиклы встречаются нечасто, но все-таки встречаются, поэтому установка цикла йа(п1 в конце каждой последовательности микрокоманд вполне целесообразна. Для этого требуется всего лишь небольшая управляющая память. Итак, мы узнали о первой возможности сокращения длины пути: 17смещение основного цикла в конце каждой последовательности микрокоманд. Э-шинная архитектура Что еще можно сделать, чтобы сократить длину пути? Можно подвести к АЛУ две полные входные шины, А и В, и, следовательно, всего гюлучится три шины. Все (или по крайней мере большинство регистров) должны иметь доступ к обеим входным шинам. Преимущество такой системы состоит в возможности складывать любой регистр с любым другим регистром за один цикл. Чтобы увидеть, насколько продуктивен такой подход, рассмотрим реализацию команды 7(.ОАО (табл.

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

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

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

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

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