
- •Кафедра – Информационно- Коммуникационные Технологии
- •Лекция 1. Введение в дисциплину – эвм и периферийные устройства
- •1.1 История развития вычислительной техники
- •1.2 Основные принципы построения эвм
- •Поколения эвм
- •Классификация эвм
- •Вопросы
- •Лекция 2. Компьютер – общие сведения
- •2.1 Основные узлы пк – «Материнская плата»
- •2.2 Основные компоненты компьютера:
- •2.3 Интерфейсные шины
- •2.4 Основные периферийные устройства компьютера
- •Вопросы и задания
- •Лекция 3. Представление данных в эвм.
- •3.1 Форматы файлов
- •3.2 Кодирование чисел
- •3.3 Кодирование текста
- •3.4 Кодирование графической информации
- •3.5 Кодирование звука
- •3.6 Типы данных
- •Лекция 4. Структурная организация эвм - процессор Введение
- •Что известно всем
- •4.1 Микропроцессорная система
- •4.2 Что такое микропроцессор?
- •4.3 Основной алгоритм работы процессора
- •Алу Запросы на пре-ия и пдп
- •4.4 Программный код и система команд
- •4.5 Микроархитектура процессора
- •512 Кбайт
- •Лекция 5. Микропрограммное устройство управления
- •5.1 Устройство управления
- •5.2 Микропроцессорная память
- •5.3 Структура адресной памяти процессора
- •5.4 Интерфейсная часть мп
- •5.5 Назначение и функции чипсета в микропроцессорной системе
- •Лекция 6. Организация памяти
- •6.1 Организация подсистемы памяти в пк
- •6.2 Оперативная память
- •6.4 Технологии оперативной памяти
- •Вопросы для самоконтроля
- •Лекция 7. Внешняя память компьютера Введение
- •Жесткий диск (Hard Disk Drive)
- •Общее устройство нжмд
- •Пластины (диски)
- •Головка записи-чтения
- •Позиционер
- •Контроллер
- •Производительность
- •Структура хранения информации на жестком диске
- •Кластер
- •Магнитооптические диски
- •Лазерные компакт-диски cd - rom
- •Дисковые массивы и уровни raid
- •Raid 0: Базовая конфигурация.
- •Raid1: Зеркальные диски.
- •Raid 2: матрица с поразрядным расслоением
- •Raid 3: аппаратное обнаружение ошибок и четность
- •Raid 4: внутригрупповой параллелизм
- •Raid 5: четность вращения для распараллеливания записей
- •Raid 6: Двумерная четность для обеспечения большей надежности
- •Флэш-память
- •Вопросы и задания
- •Лекция 8. Логическая организация памяти
- •Виртуальная память
- •Основная память
- •Дисковая память
- •Страничная организация памяти
- •Преобразование адресов
- •Сегментная организация памяти.
- •Свопинг
- •Вопросы и задания
- •Лекция 9. Методы адресации
- •Лекция 10. Архитектура risc-процессоров
- •10.1 Основные черты risc-процессоров
- •10.2 Risc-процессоры 3-го поколения
- •Структура процессоров Alpha: 21064, 21264
- •10.3Пиковая производительность risc-процессоров
- •10.4 Области применения risc-процессоров
- •Вопросы для самоконтроля
- •Лекция 11. Высокопроизводительные вс
- •11.1 Параллельная обработка данных на эвм
- •Закон Амдала
- •11.2 История появления параллелизма в архитектуре эвм
- •11.3 Классы параллельных систем
- •11.4 Технологии параллельного программирования
- •11.5 Оценки производительности супер-эвм
- •Вопросы для самоконтроля
- •Лекция 12. Особенности архитектуры современных высокопроизводительных вс Введение
- •Параллельные системы
- •Классификация архитектур по параллельной обработке данных
- •Вычислительные Системы
- •Параллелизм на уровне команд – однопроцессорные архитектуры
- •Конвейерная обработка
- •Суперскалярные архитектуры
- •Мультипроцессорные системы на кристалле
- •Технология Hyper-Threading
- •Многоядерность — следующий этап развития
- •Вопросы и задания
- •Лекция 13. Организация обмена в вычислительной системе
- •13.1 Система прерываний и исключений в архитектуре ia-32
- •13.2 Расширенный программируемый контроллер прерываний (apic)
- •13. 3 Обработка прерываний на основе контроллера 8259a
- •13.4 Подсистема прямого доступа к памяти
- •Вопросы для самоконтроля
- •Лекция 14. Интерфейсы вычислительных систем
- •14.1 Типы и характеристики интерфейсов
- •14.2 Архитектура системных интерфейсов
- •14.3 Системные интерфейсы для пк
- •14.5 Интерфейс pci
- •14.6 Порт agp
- •14.8 Интерфейсы накопителей
- •Вопросы для самоконтроля
- •Лекция 15. Интерфейсы периферийных устройств
- •15.1 Интерфейсы scsi
- •15.2 Интерфейс rs-232c
- •15.3 Интерфейс ieee 1284
- •15.4 Инфракрасный интерфейс
- •15.5 Интерфейс usb
- •15.6 Интерфейс ieee 1394 - FireWire
- •Вопросы для самоконтроля
- •Лекция 16. Состав, классификация и характеристики периферийных устройств
- •16.1 Классификация периферийных устройств
- •16.2 Видеосистема
- •16.3 Видеоадаптеры
- •16.5 Аудиосистема
- •Контрольные вопросы
- •Список основной литературы
- •Список дополнительной литературы
- •Приложение Классификация и основные определения пу.
- •Общая характеристика клавиатуры.
- •Интерфейс клавиатуры и мыши.
- •Скан-коды и системная поддержка.
- •Манипуляторы-указатели
- •Общая характеристика методов вывода изображений.
- •Графический режим.
- •Текстовый режим.
- •Трехмерная графика и способы обработки видеоизображений.
- •Принципы передачи цветных телевизионных изображений.
- •Объединение компьютерной графики и телевизионного изображения.
- •Стандарты кодеков изображений mpeg.
- •Основные технические характеристики.
- •Управление монитором.
- •Плоские дисплеи.
- •Интерфейсы дисплеев.
- •Функциональная схема адаптеров дисплеев
- •Графический процессор адаптера, принцип работы тракта записи.
- •Принцип считывания со сравниванием цветов в графическом адаптере.
- •Параметры видеосистемы.
- •Принципы построения различных типов принтеров.
- •Форматы данных и интерфейсы принтеров
- •Системная поддержка принтеров.
- •Принципы хранения информации.
- •Хранение информации на магнитных дисках.
- •Накопители на гибких магнитных дисках (нгмд).
- •Интерфейс и контроллер нгмд.
- •Конструкция накопителя на жестких магнитных дисках (нжмд).
- •Основные характеристики винчестеров.
- •Особенности функционирования винчестеров
- •Магнитооптические диски.
- •Флэш-память.
- •Основы цифровой обработки сигналов.
- •Звуковая карта пк.
- •Интерфейсы звуковых карт.
- •Проводные интерфейсы связи.
- •40. Беспроводные интерфейсы связи. Инфракрасный интерфейс.
- •Беспроводные интерфейсы связи. Радиоинтерфейс Bluetooth.
- •Модемы. Структурная схема устройства.
- •Основные принципы шинной связи, управление шиной.
- •Арбитраж шин.
- •Передача информации шинами по блочно.
- •Шины расширения.
- •Параллельные шины.
- •Последовательные шины
6.2 Оперативная память
Оперативная память, как правило, хранит функционально-законченные программные модули (ядро операционной системы, исполняющиеся программы и их библиотеки, драйверы используемых устройств и т.п.) и их данные, непосредственно участвующие в работе программ. Каждой ячейке оперативной памяти присвоен уникальный адрес. Организационные методы распределения памяти предоставляют программистам возможность эффективного использования всей компьютерной системы. К таким методам относят сплошную ("плоскую") модель памяти и сегментированную модель памяти. При использовании сплошной модели (flat model) памяти программа оперирует единым непрерывным адресным пространством линейным адресным пространством, в котором ячейки памяти нумеруются последовательно и непрерывно от 0 до 2n-1, где n - разрядность ЦП по адресу. При использовании сегментированной модели (segmented model) для программы память представляется группой независимых адресных блоков, называемых сегментами. Для адресации байта памяти программа должна использовать логический адрес, состоящий из селектора сегмента и смещения. Селектор сегмента выбирает определенный сегмент, а смещение указывает на конкретную ячейку в адресном пространстве выбранного сегмента. Организационные методы распределения памяти позволяют организовать вычислительную систему, в которой рабочее адресное пространство программы превышает размер фактически имеющейся в системе оперативной памяти, при этом недостаток оперативной памяти заполняется за счет внешней более медленной или более дешевой памяти (винчестер, флэш-память и т.п.) Такую концепцию называют виртуальной памятью. При этом линейное адресное пространство может быть отображено на пространство физических адресов либо непосредственно (линейный адрес есть физический адрес), либо при помощи механизма страничной трансляции. Во втором случае линейное адресное пространство делится на страницы одинакового размера, которые составляют виртуальную память. Страничная трансляция обеспечивает отображение требуемых страниц виртуальной памяти в физическое адресное пространство. Кроме реализации системы виртуальной памяти внешние ЗУ используются для долговременного хранения программ и данных в виде файлов.
6.3 Кэш-память
Кэш-память представляет собой быстродействующее ЗУ, размещенное на одном кристалле с ЦП или внешнее по отношению к ЦП. Кэш служит высокоскоростным буфером между ЦП и относительно медленной основной памятью. Идея кэш-памяти основана на прогнозировании наиболее вероятных обращений ЦП к оперативной памяти. В основу такого подхода положен принцип временной и пространственной локальности программы. Если ЦП обратился к какому-либо объекту оперативной памяти, с высокой долей вероятности ЦП вскоре снова обратится к этому объекту. Примером этой ситуации может быть код или данные в циклах. Эта концепция описывается принципом временной локальности, в соответствии с которым часто используемые объекты оперативной памяти должны быть "ближе" к ЦП (в кэше). Для согласования содержимого кэш-памяти и оперативной памяти используют три метода записи:
Сквозная запись (write through) - одновременно с кэш-памятью обновляется оперативная память.
Буферизованная сквозная запись (buffered write through) - информация задерживается в кэш-буфере перед записью в оперативную память и переписывается в оперативную память в те циклы, когда ЦП к ней не обращается.
Обратная запись (write back) - используется бит изменения в поле тега, и строка переписывается в оперативную память только в том случае, если бит изменения равен 1.
Как правило, все методы записи, кроме сквозной, позволяют для увеличения производительности откладывать и группировать операции записи в оперативную память.
В структуре кэш-памяти выделяют два типа блоков данных:
память отображения данных (собственно сами данные, дублированные из оперативной памяти);
память тегов (признаки, указывающие на расположение кэшированных данных в оперативной памяти).
Пространство памяти отображения данных в кэше разбивается на строки - блоки фиксированной длины (например, 32, 64 или 128 байт). Каждая строка кэша может содержать непрерывный выровненный блок байт из оперативной памяти. Какой именно блок оперативной памяти отображен на данную строку кэша, определяется тегом строки и алгоритмом отображения. По алгоритмам отображения оперативной памяти в кэш выделяют три типа кэш-памяти:
полностью ассоциативный кэш;
кэш прямого отображения;
множественный ассоциативный кэш.
Для полностью ассоциативного кэша характерно, что кэш-контроллер может поместить любой блок оперативной памяти в любую строку кэш-памяти (рис. 6.1). В этом случае физический адрес разбивается на две части: смещение в блоке (строке кэша) и номер блока. При помещении блока в кэш номер блока сохраняется в теге соответствующей строки. Когда ЦП обращается к кэшу за необходимым блоком, кэш-промах будет обнаружен только после сравнения тегов всех строк с номером блока. Одно из основных достоинств данного способа отображения - хорошая утилизация оперативной памяти, т.к. нет ограничений на то, какой блок может быть отображен на ту или иную строку кэш-памяти. К недостаткам следует отнести сложную аппаратную реализацию этого способа, требующую большого количества схемотехники (в основном компараторов), что приводит к увеличению времени доступа к такому кэшу и увеличению его стоимости.
Рис. 6.1. Полностью ассоциативный кэш 8х8 для 10-битного адреса
Альтернативный способ отображения оперативной памяти в кэш - это кэш прямого отображения (или одновходовый ассоциативный кэш). В этом случае адрес памяти (номер блока) однозначно определяет строку кэша, в которую будет помещен данный блок. Физический адрес разбивается на три части: смещение в блоке (строке кэша), номер строки кэша и тег. Тот или иной блок будет всегда помещаться в строго определенную строку кэша, при необходимости заменяя собой хранящийся там другой блок. Когда ЦП обращается к кэшу за необходимым блоком, для определения удачного обращения или кэш-промаха достаточно проверить тег лишь одной строки. Очевидными преимуществами данного алгоритма являются простота и дешевизна реализации. К недостаткам следует отнести низкую эффективность такого кэша из-за вероятных частых перезагрузок строк. Например, при обращении к каждой 64-й ячейке памяти в системе на рис. 6.2 кэш-контроллер будет вынужден постоянно перегружать одну и ту же строку кэш-памяти, совершенно не задействовав остальные.
Рис. 6.2. Кэш прямого отображения 8х8 для 10-битного адреса
Несмотря на очевидные недостатки, данная технология нашла успешное применение, например, в МП Motorola MC68020, для организации кэша инструкций первого уровня (рис. 6.3). В данном микропроцессоре реализован кэш прямого отображения из 64 строк по 4 байт. Тег строки, кроме 24 бит, задающих адрес кэшированного блока, содержит бит значимости, определяющий действительность строки (если бит значимости 0, данная строка считается недействительной и не вызовет кэш-попадания). Обращения к данным не кэшируются.
Рис. 6.3. Схема организации кэш-памяти в МП Motorola MC68020
Компромиссным вариантом между первыми двумя алгоритмами является множественный ассоциативный кэш или частично-ассоциативный кэш (рис.6.4). При этом способе организации кэш-памяти строки объединяются в группы, в которые могут входить 2, 4, : строк. В соответствии с количеством строк в таких группах различают 2-входовый, 4-входовый и т.п. ассоциативный кэш. При обращении к памяти физический адрес разбивается на три части: смещение в блоке (строке кэша), номер группы (набора) и тег. Блок памяти, адрес которого соответствует определенной группе, может быть размещен в любой строке этой группы, и в теге строки размещается соответствующее значение. Очевидно, что в рамках выбранной группы соблюдается принцип ассоциативности. С другой стороны, тот или иной блок может попасть только в строго определенную группу, что перекликается с принципом организации кэша прямого отображения. Для того чтобы процессор смог идентифицировать кэш-промах, ему надо будет проверить теги лишь одной группы (2/4/8/: строк).
Рис. 6.4. Двухвходовый ассоциативный кэш 8х8 для 10-битного адреса
Данный алгоритм отображения сочетает достоинства как полностью ассоциативного кэша (хорошая утилизация памяти, высокая скорость), так и кэша прямого доступа (простота и дешевизна), лишь незначительно уступая по этим характеристикам исходным алгоритмам. Именно поэтому множественный ассоциативный кэш наиболее широко распространен. Для организации кэш-памяти можно использовать принстонскую архитектуру (смешанный кэш для команд и данных, например, в Intel-486). Это очевидное (и неизбежное для фон-неймановских систем с внешней по отношению к ЦП кэш-памятью) решение не всегда бывает самым эффективным. Разделение кэш-памяти на кэш команд и кэш данных (кэш гарвардской архитектуры) позволяет повысить эффективность работы кэша по следующим соображениям:
Многие современные процессоры имеют конвейерную архитектуру, при которой блоки конвейера работают параллельно. Таким образом, выборка команды и доступ к данным команды осуществляется на разных этапах конвейера, а использование раздельной кэш-памяти позволяет выполнять эти операции параллельно.
Кэш команд может быть реализован только для чтения, следовательно, не требует реализации никаких алгоритмов обратной записи, что делает этот кэш проще, дешевле и быстрее.
Именно поэтому все последние модели IA-32, начиная с Pentium, для организации кэш-памяти первого уровня используют гарвардскую архитектуру. Критерием эффективной работы кэша можно считать уменьшение среднего времени доступа к памяти по сравнению с системой без кэш-памяти.