- •1. Функциональные роли компьютеров в сети
- •2. Шины и интерфейсы.
- •3. Сегментная организация оп и виртуальная память.
- •5. Архитектура современных процессоров, проблемы роста производительности.
- •512 Кбайт
- •6. Связь компьютера с периферийным устройством.
- •7. Методы адресации
- •№9. Архитектура фон Неймана – основные признаки.
- •10. Регистры процессора и его программная модель.
- •11. Классификация архитектур по параллельной обработке данных
- •12. Интерфейсы жд, эволюция производительности.
- •13. Система команд и архитектура эвм.
- •14. Способы организации кэш-памяти.
- •1. Где может размещаться блок в кэш-памяти?
- •2. Как найти блок, находящийся в кэш-памяти?
- •3. Какой блок кэш-памяти должен быть замещен при промахе?
- •4. Что происходит во время записи?
- •15. Многопроцессорные системы, классификация Флинна.
- •16. Магистрально-модульный способпостроения эвм
- •17. Тракт данных типичного процессора, система команд
- •18. Синхронный и асинхронный обмен данными, обмен по прерыванию.
- •19. Конвейерная и суперскалярная обработка данных.
- •20.Связь двух компьютеров.
- •21. Структура современного пк, взаимодействие основных блоков.
- •Материнская плата - основные электронные компоненты, определяющие структуру компьютера (Mother board)
- •Основные внешние устройства компьютера
- •22. Архитектурные особенности современных процессоров, Hyper Threading и мультиядерность.
- •23. Smp архитектура и ее развитие
- •24.Логическая организация памяти эвм.
- •Виртуальная память
- •Страничная организация памяти
- •Сегментная организация памяти.
- •25. Структура кэш – памяти процессораi486.
- •26. Топология физических связей компьютеров в сети.
- •Простейшие виды связи сети передачи данных
- •27. АрхитектураNuma.
- •28. Формат команды процессораi486 и адресация операндов.
- •30. Кластерные архитектуры и проблема связи процессоров в кластерной системе Кластерная архитектура
- •Проблемы выполнения сети связи процессоров в кластерной системе.
- •33. Пропускная способность и ее связь с методами кодирования.
- •34. Конвейерная обработка данных
- •№36. Анализ производительности эвм, пути развития. Увеличение производительности эвм, за счет чего?
- •Параллельные системы
- •Использование параллельных вычислительных систем
- •Закон Амдала и его следствия
- •№37. Архитектура «клиент-сервер».
- •35. Когерентность кэШей.
- •37. Архитектура клиент-сервер
- •38. Отличительные особенностиRisc– архитектуры
- •№42. Основные принципы построения систем ввода/вывода.
- •Физические принципы организации ввода-вывода
- •Интерфейс
- •Магистрально-модульный способ построения эвм
- •Структура контроллера устройства
- •Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
- •Организация передачи данных
- •Прямой доступ к памяти (Direct Memory Access – dma)
- •Логические принципы организации ввода-вывода
- •Структура системы ввода-вывода
- •Буферизация и кэширование
- •39. Оперативная память эвм, основные параметры.
- •45. Дисковые массивы и уровни raid
- •51. Внешняя память компьютера
- •54. Классификация компьютерных сетей
- •55. Содержание понятий – транслятор, интерпретатор, компилятор и их связь с организацией вычислительного процесса
- •56. Технология Hyper-Threading
- •59. Закон Амдала и его следствия.
- •61. Производительность процессора и методы ее увеличения
Буферизация и кэширование
Под буфером обычно понимается некоторая область памяти для запоминания информации при обмене данных между двумя устройствами, двумя процессами или процессом и устройством. Обмен информацией между двумя процессами относится к области кооперации процессов, и мы подробно рассмотрели его организацию в соответствующей лекции. Здесь нас будет интересовать использование буферов в том случае, когда одним из участников обмена является внешнее устройство. Существует три причины, приводящие к использованию буферов в базовой подсистеме ввода-вывода.
Первая причина буферизации – это разные скорости приема и передачи информации, которыми обладают участники обмена. Рассмотрим, например, случай передачи потока данных от клавиатуры к модему. Скорость, с которой поставляет информацию клавиатура, определяется скоростью набора текста человеком и обычно существенно меньше скорости передачи данных модемом. Для того чтобы не занимать модем на все время набора текста, делая его недоступным для других процессов и устройств, целесообразно накапливать введенную информацию в буфере или нескольких буферах достаточного размера и отсылать ее через модем после заполнения буферов.
Вторая причина буферизации – это разные объемы данных, которые могут быть приняты или получены участниками обмена единовременно. Возьмем другой пример. Пусть информация поставляется модемом и записывается на жесткий диск. Помимо обладания разными скоростями совершения операций, модем и жесткий диск представляют собой устройства разного типа. Модем является символьным устройством и выдает данные байт за байтом, в то время как диск является блочным устройством и для проведения операции записи для него требуется накопить необходимый блок данных в буфере. Здесь также можно применять более одного буфера. После заполнения первого буфера модем начинает заполнять второй, одновременно с записью первого на жесткий диск. Поскольку скорость работы жесткого диска в тысячи раз больше, чем скорость работы модема, к моменту заполнения второго буфера операция записи первого будет завершена, и модем снова сможет заполнять первый буфер одновременно с записью второго на диск.
Третья причина буферизации связана с необходимостью копирования информации из приложений, осуществляющих ввод-вывод, в буфер ядра операционной системы и обратно. Допустим, что некоторый пользовательский процесс пожелал вывести информацию из своего адресного пространства на внешнее устройство. Для этого он должен выполнить системный вызов с обобщенным названием write, передав в качестве параметров адрес области памяти, где расположены данные, и их объем. Если внешнее устройство временно занято, то возможна ситуация, когда к моменту его освобождения содержимое нужной области окажется испорченным (например, при использовании асинхронной формы системного вызова). Чтобы избежать возникновения подобных ситуаций, проще всего в начале работы системного вызова скопировать необходимые данные в буфер ядра операционной системы, постоянно находящийся в оперативной памяти, и выводить их на устройство из этого буфера.
Под словом кэш (cache – «наличные»), этимологию которого мы не будем здесь рассматривать, обычно понимают область быстрой памяти, содержащую копию данных, расположенных где-либо в более медленной памяти, предназначенную для ускорения работы вычислительной системы. Мы с вами сталкивались с этим понятием при рассмотрении иерархии памяти. В базовой подсистеме ввода-вывода не следует смешивать два понятия, буферизацию и кэширование, хотя зачастую для выполнения этих функций отводится одна и та же область памяти. Буфер часто содержит единственный набор данных, существующий в системе, в то время как кэш по определению содержит копию данных, существующих где-нибудь еще. Например, буфер, используемый базовой подсистемой для копирования данных из пользовательского пространства процесса при выводе на диск, может в свою очередь применяться как кэш для этих данных, если операции модификации и повторного чтения данного блока выполняются достаточно часто. Функции буферизации и кэширования не обязательно должны быть локализованы в базовой подсистеме ввода-вывода. Они могут быть частично реализованы в драйверах и даже в контроллерах устройств, скрытно по отношению к базовой подсистеме.
