- •Глава 1 Обзор компьютерных систем
- •1.1. Основные элементы
- •1.2. Регистры процессора
- •Управляющие регистры и регистры состояния
- •1.3. Исполнение команд
- •Выборка и исполнение команды
- •Функции ввода-вывода
- •Множественные прерывания
- •Многозадачность
- •1.5. Иерархия запоминающих устройств
- •1.6. Кэш
- •Обоснование
- •Принципы работы кэша
- •Внутреннее устройство кэша
- •1.7. Технологии ввода-вывода
- •Программируемый ввод-вывод
- •Ввод-вывод с использованием прерываний
- •Прямой доступ к памяти
- •1.8. Рекомендуемая литература
- •1.9. Задачи
- •Приложение а. Характеристики производительности двухуровневой памяти
- •Функционирование двухуровневой памяти
- •Производительность
- •Приложение б. Управление процедурами
- •Реализация стека
- •Вызов процедуры и возврат из нее
- •Реентерабельные процедуры
Прямой доступ к памяти
Хотя ввод-вывод, управляемый прерываниями, более эффективен, чем простой программируемый ввод-вывод, он все еще занимает много процессорного времени для передачи данных между памятью и контроллером ввода-вывода (при этом через процессор должны пройти все пересылаемые данные). Таким образом, обе описанные формы ввода-вывода обладают двумя недостатками.
1. Скорость передачи данных при вводе-выводе ограничена скоростью, с которой процессор может проверять и обслуживать устройство.
2. Процессор занят организацией передачи данных; при вводе-выводе для каждой передачи данных должна быть выполнена определенная последовательность команд.
Для перемещения больших объемов данных может использоваться более эффективный метод — прямой доступ к памяти (direct memory access — DMA). Функции DMA выполняются отдельным контроллером системной шины или могут быть встроены в контроллер ввода-вывода. В любом случае метод работает следующим образом. Когда процессору нужно прочитать или записать блок данных, он генерирует команду для модуля DMA, посылая ему следующую информацию:
• указание, требуется ли выполнить чтение или запись;
• адрес устройства ввода-вывода;
• начальный адрес блока памяти, использующегося для чтения или записи;
• количество слов, которые должны быть прочитаны или записаны.
Передав полномочия по выполнению этих операций контроллеру DMA, процессор продолжает работу. Контроллер DMA слово за словом передает весь блок данных в память или из нее» не задействуй при этом процессор. После окончания передачи контроллер DMA посылает процессору сигнал прерывания. Таким образом, процессор участвует только в начале и в конце передачи (рис. 1.19,в).
Для передачи данных в память и из нее контроллеру DMA нужен контроль над шиной. Если в это время процессору также нужна шина, может возникнуть конфликтная ситуация, и процессор должен ждать окончания работы модуля DMA. Заметим, что в этом случае нельзя говорить о прерывании, так как процессор не сохраняет информацию о состоянии задачи и не переходит к выполнению других операций. Вместо этого он вынужден сделать паузу на время выполнения одного цикла шины. В результате это приведет к тому, что во время передачи данных с использованием прямого доступа к памяти замедляется выполнение процессором тех команд, для которых ему требуется шина. Тем не менее при передаче большого количества информации прямой доступ к памяти намного более эффективен, чем программируемый ввод-вывод или ввод-вывод. управляемый прерываниями.
1.8. Рекомендуемая литература
Обсуждающиеся в этой главе темы детально описаны в книге [STAL00]. Кроме нее, имеется много других руководств по устройству и архитектуре компьютеров. В числе достойных внимания учебников можно отметить следующие: исчерпывающий обзор представлен в [РАТТ98]; [HENN96] — более специализированная книга тех же авторов, в которой акцент делается на количественных аспектах, характеризующих структуру компьютера.
HENN96 Heiwesy 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. — Upper Saddle River, NJ: Prentice Hall, 2000.