Реферат Курсовая Конспект
Обзор компьютерных систем - раздел Компьютеры, Глава 1 Обзор Компьютерных ...
|
ГЛАВА 1
Таблица 1.1. Классы прерываний
Программнное прерывание Прерывание по таймеру Прерывание ввода-вывода Аппаратное прерывание | Генерируется в некоторых ситуациях, возникающих в результате выполнения команд. Такими ситуациями могут быть арифметическое переполнение, деление на ноль, попытка выполнить некорректную команду и ссылка на область памяти, доступ к которой пользователю запрещен Генерируется таймером процессора. Это прерывание позволяет операционной системе выполнять некоторые свои функции периодически, через ' заданные промежутки времени Генерируется контроллером ввода-вывода. Сигнализирует о нормальном завершении операции или о наличии ошибок Генерируется при возникновении таких аварийных ситуаций, как, например, падение напряжения в сети или ошибка контроля четности памяти |
Прерывания в основном предназначены для повышения эффективности работы. Например, большинство устройств ввода-вывода работают намного медленнее, чем процессор. Предположим, что процессор передает данные на принтер по схеме, показанной рис- 1.2. После каждой операции процессор вынужден делать паузу и ждать, пока принтер не примет данные. Длительность этой паузы может быть в сотни и даже тысячи раз больше длительности цикла команды, в которой участвуют обращения к памяти. Ясно, что подобное использование процессора является неэффективным.
Такое положение дел проиллюстрировано на рис, 1.5,а. Программа пользователя содержит ряд вызовов процедуры записи WRITE, в промежутках между которыми расположены другие команды. В отрезках 1, 2 и 3 находятся последовательности команд кода, в которых не используется ввод-вывод. При вызове процедуры WRITE управление передается системной утилите ввода-вывода, которая выполняет соответствующие операции. Программа ввода-вывода состоит из трех частей.
• Последовательность команд, обозначенных на рисунке цифрой 4, которые служат для подготовки к собственно операциям ввода-вывода. В эту последовательность могут входить копирование выводимых данных в специальный буфер и подготовка набора параметров, необходимых для управления устройством.
• Собственно команды ввода-вывода. Если программа не использует прерываний, ей следует ждать, пока устройство ввода-вывода не выполнит требуемые операции (или периодически проверять его состояние путем опроса). При этом программе не остается ничего другого, как просто ждать, постоянно проверяя, завершилась ли операция ввода-вывода.
• Последовательность команд, обозначенных на рисунке цифрой 5, которые служат для завершения операции. Эта последовательность может содержать в себе установку флагов, свидетельствующих об успешном или неудачном завершении операции.
Из-за того что для выполнения операции ввода-вывода может потребоваться сравнительно длительный промежуток времени, программа замедляет работу, ожидая завершения операции. Таким образом, там, где встречается вызов WRITE, производительность программы существенно уменьшается.
КЭШ
Хотя кэш и невидим для операционной системы, он взаимодействует с аппаратным обеспечением, связанным с памятью. Более того, многие из принципов, используемых в схемах виртуальной памяти (см. главу 8, "Виртуальная память"), применимы также к кэш-памяти.
ТЕХНОЛОГИИ ВВОДА-ВЫВОДА
Возможны три метода выполнения операций ввода-вывода:
• программируемый ввод-вывод;
• ввод-вывод с использованием прерываний;
• прямой доступ к памяти (direct memory access — DMA).
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
Обсуждающиеся в этой главе темы детально описаны в книге [STAL00]. Кроме нее, имеется много других руководств по устройству и архитектуре компьютеров. В числе достойных внимания учебников можно отметить следующие: исчерпывающий обзор представлен в [РАТТ98]; [HENN96] — более специализированная книгатех же авторов, в которой акцент делается на количественных аспектах, характеризующих структуру компьютера.
HENN96Heiwesy J., Patterson D. Computer Architecture: A Quantitative Approach. — San Mateo, CA: Morgan Kaufmann.1996
PATT98 Patterson D., Hennesy J. Computer organization, and Design: The Hardware/Software Interface. — San Mateo,CA: Morgan Kaufmann,1998/
STAL00 Stallings W. Computer Organization and Architecture. 5th ed. — UpperSaddle River, NJ: Prentice Hall, 2000.
ЗАДАЧИ
1.1. В гипотетический машине, изображенной на рис. 1.3, кроме указанных имеются команды:
0011— загрузить в аккумулятор данные, поступившие от устройства ввода-вывода;
0111 — вывести содержимое аккумулятора на устройство ввода-вывода. При использовании этих команд устройство идентифицируется с помощью 12-битового адреса. Изобразите схему исполнения (по аналогии со схемой, представленной на рис. 1.4) следующей программы.
1. Загрузить аккумулятор данными из устройства номер 5.
2. Добавить к аккумулятору содержимое ячейки памяти940.
3.Вывести содержимое аккумулятора на устройство номер 6.
Решите задачу при условии, что из устройства номер 5 поступит число 3, а в ячейке 940 находится число 2.
1.3. На рис. 1.4 исполнение программы разбито на шесть этапов. Расширьте это описание, добавив шаги с использованием регистров MAR и MBR.
1.3. Рассмотрим гипотетический 32-битовый микропроцессор, 32-битовые команды которого состоят из двух полей. В первом байте содержится код команды, а в остальной части команды — непосредственно операнд или его адрес.
а. Какова максимально возможная емкость адресуемой памяти (в байтах)?
б. Рассмотрите факторы, влияющие на скорость системы, если шина микропроцессора имеет (1) 32-битовую локальную адресную шину и 16-битовую локальную шину данных или (2) 16-битовую локальную адресную шину и 16-битовую локальную шину данных.
в. Сколько битов требуется для программного счетчика и регистра команд?
1.4. Рассмотрим гипотетический 32-битовый микропроцессор, генерирующий 16-битовые адреса (предположим, например, что программный счетчик и адресные регистры имеют размер 16 бит) и обладающий 16-битовой шиной данных.
а. Какое максимальное адресное пространство может быть непосредственно доступно этому процессору, если он соединен с "16-битовой памятью"?
б. Какое максимальное адресное пространство может быть непосредственно доступно этому процессору, если он соединен с "8-битовой памятью"?
в. Какие особенности архитектуры позволят этому микропроцессору получить доступ к отдельному "пространству ввода-вывода"?
г. Сколько портов ввода-вывода способен поддерживать этот микропроцессор, если в командах ввода и вывода задаются 8-битовые номера портов? Сколько портов ввода-вывода он может поддерживать с 16-битовыми адресами? Поясните свой ответ.
1.5. Рассмотрим 32-битовый микропроцессор с 16-битовой внешней шиной данных, которая управляется синхронизатором с тактовой частотой 8 МГц. Пусть цикл шины этого микропроцессора по длительности равен четырем циклам синхронизатора. Какую максимальную скорость передачи данных может поддерживать этот процессор? Что будет лучше для повышения производительности: сменить его внешнюю шину данных на 32-битовую или удвоить частоту сигнала синхронизатора, поступающего на микропроцессор? Внесите свое предложение и обоснуйте его.
1.6. Рассмотрим компьютерную систему, в которой содержится контроллер ввода-вывода, управляющий простейшим интерфейсом пользователя, представляющим собой телетайп клавиатура/принтер. В процессоре находятся следующие регистры, непосредственно связанные с системной шиной:
INPR — регистр входных данных,8 бит;
OUTR — регистр выходных данных, 8 бит;
FGI — флаг входа, 1 бит;
FGO — флаг выхода, 1 бит;
IEN — регистр разрешения прерываний, 1 бит.
Входной поток данных, поступающий от клавиатуры, и выходной, выводимый на принтер, контролируются модулем ввода-вывода. Телетайп кодирует алфавитно-цифровые символы в 8-битовые слова и декодирует 8-битовые слова в алфавитно-цифровые символы. Флаг входа устанавливается при вводе 8-битового слова с телетайпа во входной регистр; флаг выхода устанавливается при выводе слова на принтер.
а. Опишите, как процессор может осуществлять ввод-вывод с телетайпа, используя первые четыре перечисленных регистра.
б. Опишите, как это можно сделать более эффективно, используя регистр IEN.
1.7. Практически во всех системах, в которые входят контроллеры DMA, доступ DMA к основной памяти выполняется с более высоким приоритетом, чем доступ процессора. Почему?
1.8. Контроллер DMA передает символы из внешнего устройства в основную память со скоростью 9600 бит в секунду- Процессор может выбирать команды со скоростью 1млн команд в секунду. Насколько процессор замедлит свою работу из-за работы DMA?
1.9. Компьютер состоит из процессора и устройства ввода-вывода Л, подсоединенного к основной памяти М через совместно используемую шину, которая используется как шина данных и имеет ширину, равную одному слову. Максимальная производительность процессора — 106 команд в секунду. Команда включает в себя в среднем пять машинных циклов, для трех из которых используется шина памяти. Операции чтения-записи в памяти включают в себя один машинный цикл. Предположим, что процессор все время выполняет программы в фоновом режиме, что требует 95% его производительности, а в самих программах не содержится ни одной команды ввода-вывода. Пусть длительность цикла процессора равна длительности цикла шины. Теперь представим, что между М и Л следует переслать очень большой блок данных.
а. Оцените максимальную скорость передачи данных при выполнении операций ввода-вывода, которые могут пройти через D, при использовании программируемого ввода-вывода, если для операции передачи одного слова требуется выполнение двух команд. б. Оцените ту же скорость при передаче данных с использованием DMA.
1.10. Рассмотрим последовательность инструкций.
for (i = 0; i < 20; i++)
for (j = 0;-j < .10; j++)
a[i] = a[i] * j
а. Приведите пример пространственной локализации этой последовательности.
б. Приведите пример временной локализации этой последовательности.
1.11. Обобщите уравнения (1.1) и (1.2) из приложения А к данной главе для n-уровневой иерархической структуры памяти.
1.12. Рассмотрим основную память (т) и кэш (с), характеризующиеся следующими параметрами:
Тс=100ns Cc=0.01 цент/бит
Тm=1200ns Cm=0.001 цент/бит
а. Сколько стоит 1 Мбайт основной памяти?
б. Сколько стоит 1 Мбайт основной памяти, выполненной по технологии кэша?
в. Какова результативность поиска Н,если эффективное время доступа на 10% больше, чем время доступа к кэшу?
1.13. В компьютере есть кэш, основная память и диск, выступающие в роли виртуальной памяти. Если запрашиваемое слово находится не в кэше, а в основной памяти для его загрузки в кэш требуется 60 ns (сюда входит время, которое требуется для первоначальной проверки кэша). После этого происходит новый запрос. Если нет в оперативной памяти, чтобы получить его с диска, необходимозатратить 12 ms, а затем еще 60 ns, чтобы скопировать его в кэш; после этого происходит новый запрос. Результативность поиска в кэше равна 0.9, а результативность поиска в основной памяти — 0.6. Найти среднее время, которое требуется для получения доступа к слову в данной системе.
1.14. Предположим, что при вызове процедур и возврате из них процессор использует стек. Можно ли в такой схеме обойтись без программного счетчика, используя вместо него вершину стека?
ПРИЛОЖЕНИЕ А. ХАРАКТЕРИСТИКИ ПРОИЗВОДИТЕЛЬНОСТИ ДВУХУРОВНЕВОЙ ПАМЯТИ
В данной главе упоминался кэш, который выступает в роли промежуточного буфера между процессором и основной памятью, что обеспечивает двухуровневую структуру памяти. Производительность работы памяти с такой архитектурой выше,чем у одноуровневой памяти. Это повышение производительности достигается за счет свойства, известного как локализация, которое и рассматривается в данном приложении.
Механизм кэширования основной памяти является составной частью компьютерной архитектуры. Он встроен в аппаратное обеспечение и обычно невидим операционной системе. В силуэтого кэширование не рассматривается в данной книге. Однако есть еще два примера использования двухуровневой памяти, в которых также используется локализация и которые, по крайнеймере, частично, управляются операционной системой; виртуальная память и дисковый кэш (см. табл.1.2). Эти темы являются предметом рассмотрения глав 8, "Виртуальная память", и 11, "Управление вводом-выводом и дисковое планирование", соответственно. Данное приложение поможет читателю познакомиться с некоторыми характеристиками производительности двухуровневой памяти, которые являются общими для всех трех подходов.
Таблица 1.2. Характеристики двухуровневой памяти
Кэш основной памяти | Виртуальная память (страничная организация) | Дисковый кэш | |
Типичное соотношение времени доступа | 5:1 | 1000:1 | 1000:1 |
Система управления памятью | Специальное встроенное аппаратное обеспечение | Сочетание аппаратного и программного обеспечения | Системное программное обеспечение |
Типичный размер блока | От 4 до 128 байт | От 64 до 4096 байт | От 64 до 4096 байт |
Доступ процессора Ко второму уровню | Прямой доступ | Косвенный доступ | Косвенный доступ |
– Конец работы –
Используемые теги: обзор, компьютерных, систем0.063
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Обзор компьютерных систем
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов