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

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

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

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

Напишите программу, которая на входе получает два произвольных логических выражения и проверяет, представляют ли они одну и ту же функцию. Входной язык должен включать отдельные буквы (логические переменные), операнды И, ИЛИ и НЕ и скобки. Каждое выражение должно помещаться на одну входную линию. Программа вычисляет таблицы истинности для обеих функций и сравнивает их. Напишите программу, которая получает на входе ряд логических выражений и строит матрицы 24 х 50 и 50 х 6, которые нужны для реализации этих выражений в программируемой логической матрице, изображенной на рис. 3.14.

Входной язык такой же, как в предыдущем задании. Распечатайте эти матрицы на устройстве построчной печати. Глава 4 Уровень микроархитектуры Над цифровым логическим уровнем находится уровень микроархитектуры. Его задача — интерпретация команд уровня 2 (уровня архитектуры команд), как показано на рис. 1.2. Строение уровня микроархитектуры зависит от того, каков уровень архитектуры команд, а также от стоимости и назначения компьютера. В настоящее время на уровне архитектуры команд обычно находятся простые комацды, которые выполняются за один цикл (таковы, в частности, ИЗС-машины). В других системах (например, в Репйнш 4) на этом уровне имеются более сложные команды; выполнение одной такой команды занимает несколько циклов.

Чтобы выполнить команду, нужно найти операнды в памяти, считать их и записать полученные результаты обратно в память. Управление уровнем команд со сложными командами отличается от управления уровнем команд с простыми командами, так как в первом случае выполнение одной команды требует определенной последовательности операций.

Пример микроархитектуры В идеале неплохо было бы сначала описать общие принципы разработки уровня микроархитектуры, но, к сожалению, таких общих принципов не существует. Каждая разработка индивидуальна. По этой причине мы просто подробно рассмотрим конкретный пример. В качестве примера мы выбрали подмножество виртуальной машины )ача. Это подмножество содержит только целочисленные команды, поэтому мы назвали его Ц 1ГМ (1пгейег )ача Ъ'1ггпа1 Мас)11пе — виртуальная машина ~ача для целых). Виртуальную машину в целом ()Ъ'М) мы рассмотрим в главе 5.

Начнем мы с описания микроархитектуры, на базе которой воплотим [)ЪгМ. 1)ЪгМ содержит несколько довольно сложных команд. Как уже отмечалось в главе 1, подобные архитектуры часто реализуются путем микропрограммирования. Хотя структура 11Ъ'М не слишком сложная, она может стать хорошей отправной точкой при описании основных принципов обработки команд и последовательности их выполнения. Наша микроархитектура содержит микропрограмму (в ПЗУ), которая должна вызывать, декодировать и выполнять 1)ЪгМ-командьь Мы не можем использовать для этой микропрограммы интерпретатор )ЪгМ, разработанный компанией Янп, поскольку нам нужна всего лишь крошечная микропрограмма, которая запускает отдельные вентили аппаратного обеспечения.

Интерпретатор ДЪгМ компании Япп написан на языке С, что было призвано обеспечить переносимость программного обеспечения. Этот интерпретатор не может управлять аппаратным обеспечением на таком детализированном уровне, который нам нужен. Поскольку реальное аппаратное обеспечение состоит только из компонентов, 264 Глава 4. Уровень микроархитектуры описанных в главе 3, то теоретически после прочтения этой главы читатель сможет пойти в магазин, купить кучу транзисторов и сконструировать машину 11ЧМ. Тому, кто успешно выполнит это задание, будет предоставлен дополнительный кредит (а также полное психиатрическое обследование). Условимся каждую команду уровня архитектуры команд считать функцией, вызываемой из основной программы.

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

Каждая функция изменяет по крайней мере несколько переменных, формируя при этом новое состояние. Например, счетчик команд — это часть состояния. Он указывает местонахождение очередной функции (то есть команды уровня архитектуры команд), которая должна быть выполнена.

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

Например, команды, которые имеют доступ к локальным переменным, должны иметь специальное поле, чтобы определить, какая это переменная. Такая модель выполнения команды, называемая иногда циклом выборка-выполнение, полезна для теории и может стать основой воплощения уровня архитектуры команд со сложными командами (например, 1) УМ). Далее мы опишем, как работает эта модель, что собой представляет микроархитектура и как ею управляют микрокоманды, каждая из которых занимает тракт данных на один цикл. Полный список команд формирует микропрограмму, которая будет рассмотрена очень подробно.

Тракт данных Тракт данных — это часть центрального процессора, состоящая из АЛУ (арифметико-логического устройства), его входов и выходов. Тракт данных нашей микроархитектуры показан на рис. 4.1. Хотя этот тракт данных и был оптимизирован для интерпретации 1)ЧМ-программ, он схож с трактами данных большинства компьютеров. Тракт содержит ряд 32-разрядных регистров, которым мы приписали символические названия (например, РС, ЯР, М1Ж). Хотя некоторые из этих названий нам знакомы, важно понимать, что эти регистры доступны только на уровне микроархитектуры (для микропрограммы).

Им даны такие названия, поскольку они обычно содержат значения, соответствующие переменным с аналогичными названиями на уровне архитектуры команд. Содержание большинства регистров передается на шину В. Выходной сигнал АЛУ управляет схемой сдвига и далее шиной С. Значение с шины С может записываться в один или несколько регистров одновременно. Шину А мы введем позже, а пока представим, что ее нет. Пример микроархитектуры 265 стры аления тью В основную память и из нее алы управления азрешающий сигнал на шину В игнал записи с шины С в регистр ина В Шина С Управление и Е равнение схемой сдвига Рис.

4.1. Тракт данных для микроархитектуры, рассматриваемой в етой главе Данное АЛУ идентично тому, которое изображено на рис. 3.18 и 3.19. Его функционирование зависит от линий управления. На рис. 4.1 перечеркнутая стрелочка с цифрой 6 сверху указывает на наличие шести линий управления АЛУ. Из них Рс и Г~ служат для задания операции, ЕМА и Е1ч — для разрешения входных сигналов А и В соответственно, УЧА — для инверсии левого входа и 1МС вЂ” для переноса бита в младший разряд, что эквивалентно прибавлению 266 Глава 4. Уровень микроархитектуры единицы к результату.

Однако не все 64 комбинации значений на линиях управления могут быть полезными. Некоторые комбинации показаны в табл. 4.1. Не все из этих функций нужны для машины 1!УМ, но многие из них могут пригодиться для полнофункциональной машины (!Ъ'М). В большинстве случаев существует несколько возможностей для достижения одного и того же результата. В данной таблице знак плюс (е) означает арифметический плюс, а знак минус ( — ) — арифметический минус, поэтому — А означает дополнение А. Таблица 4.1. Некоторые комбинации сигналов АЛУ и соответствующие им функции Порядковый Ре Р1 ЕМА ЕМВ 1МУА 1МС Функция номер О 1 1 О 1 О О 1 1 1 О 1 1 1 1 1 1 1 1 1 1 1 1 О 1 1 1 1 1 О 1 1 1 О О 1 О 1 1 О 1 О О 1 О О 1 О АеВ АеВе! Ае1 Ве1  — А  — 1 10 -А 12 АИВ А ИЛИ В 14 15 АЛУ, изображенное на рис.

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

Одна из таких функций — сложение входных сигналов АЛУ, только при этом сигнал ЕХА отрицателен, и левый вход получает значение О. Если к значению шины В прибавить О, это значение не изменится. Затем результат проходит через схему сдвига (также без изменений) и сохраняется в регистре Н. Пример микроархитектуры 267 Существует еще две линии управления, которые используются независимо от остальных. Они служат для управления выходом АЛУ. Линия 8Е1.8 (ЯЬЖ 1.е(г Ео81са1 — логический сдвиг влево) сдвигает число влево на 1 байт, заполняя 8 самых младших двоичных разрядов нулями.

Линия БКА1 (8Ь1(Г К18ЬГ Аг1ГЬ- шеас — арифметический сдвиг вправо) сдвигает число вправо на 1 бит, оставляя самый старший двоичный разряд без изменений. Можно считать и записать один и тот же регистр за один цикл. Для этого, например, нужно поместить значение БР на шину В, закрыть левый вход АЛУ, установить сигнал 1ХС и сохранить полученный результат в регистре 8Р, увеличив таким образом его значение на 1 (см. строку 8 в табл. 4.1). Если один и тот же регистр может считываться и записываться за один цикл, то как при этом предотвратить появление ненужных данных? Дело в том, что процессы чтения и записи происходят в разных частях цикла. Когда в качестве правого входа АЛУ выбирается один из регистров, его значение помещается на шину В в начале цикла и хранится там на протяжении всего цикла. Затем АЛУ выполняет свою работу, результат которой через схему сдвига поступает на шину С.

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

4.2. Здесь в начале каждого цикла генерируется короткий импульс. Он может выдаваться задающим генератором, как показано на рис. 3.20, в. На спаде импульса устанавливаются биты, которые будут запускать все вентили. Этот процесс занимает определенный отрезок времени Аж Затем выбирается регистр, и его значение передается на шину В. На это требуется время Ах Далее АЛУ и схема сдвига начинают оперировать поступившими к ним данными. После промежутка Ау выходные сигналы АЛУ и схемы сдвига стабилизируются.

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

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

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

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

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