
- •Эвм и вычислительные системы».
- •Часть II.
- •Оглавление.
- •Лекция №19 конструкция персонального компьютера.
- •19.1. Основные конструктивные компоненты персонального компьютера.
- •19.2. Корпус пк.
- •19.3. Блок питания.
- •19.4. Системные платы.
- •19.5. Конструктивы и установка плат.
- •Лекция №20 ключевые микросхемы.
- •20.1. Стандартные микросхемы первых системных плат.
- •20.2. Набор микросхем или - chipset.
- •20.3. Микропроцессоры.
- •20.4. Организация доступа к памяти при использовании intel совместимых процессоров
- •Лекция №21 память компьютера
- •21.1. Иерархия подсистемы памяти пк.
- •21.2. Оперативная память.
- •21.3. Архитектура оперативной памяти.
- •21.4. Логическая организация памяти.
- •Лекция № 22 базовая система ввода/вывода.
- •22.1. Bios и cmos ram. Общие сведения.
- •22.2. Возможности bios. Конфигурирование системных ресурсов.
- •22.3. Тест начальной загрузки post.
- •Лекция № 23 кэш – память
- •23.1. Принципы построения кэш-памяти.
- •23.2. Типы кэшей
- •23.3. Целостность данных в кэш-памяти
- •23.4. Кэш-память и эффективность программ
- •Лекция №24 накопители на жестких дисках.
- •24.1. Типы накопителей.
- •24.2. Накопители на жестких дисках. (Винчестеры)
- •24.3. Параметры жестких дисков
- •24.4. Низкоуровневое форматирование
- •24.5. Логическая структура диска
- •24.6. Загрузочный сектор br (Boot Record).
- •24.7. Таблица размещения файлов fat (File Allocation Table).
- •24.8. Корневой каталог (root Directory).
- •24.9. Главный загрузочный сектор mbr (Master Boot Record).
- •24.10. Порядок установки винчестера.
- •24.11. Кэширование диска.
- •Лекция №25 интерфейсы винчестеров
- •25.1. Интерфейс st-506/412.
- •25.2. Интерфейс еsdi
- •25.3. Интерфейс scsi
- •25.4. Интерфейс ide (ata)
- •Лекция №26 шины персональных компьютеров.
- •26.1. Обзор шин пк.
- •26.2. Системные шины.
- •26.3. Локальные шины.
- •26.4. Шина pci (Peripheral Component Interconnect) (1992 год).
- •26.5. Магистральный интерфейс agp.
- •Лекция № 27 видеоподсистемы
- •27.1. Мониторы.
- •27.2. Основные стандарты мониторов (видеоадаптеров).
- •27.3. Проблемы цветопередачи.
- •27.4. Видеопамять.
- •27.5. Повышение скорости работы видеоадаптера.
- •Лекция № 28 современные видеоподсистемы персональных компьютеров.
- •28.1. Свойства современных видеоадаптеров
- •28.2. Современные видеоадаптеры
- •28.3. Архитектура персональных машин с объединенной памятью. Новая архитектура ibm-совместимых пк.
- •28.4. Варианты развития архитектуры uma
- •Лекция 29. Лекция №30 архитектура компьютера
- •30.1. Параллелизм, компьютерная архитектура и приложения пользователя
- •30.2. Однопроцессорные архитектуры
- •30.3. Многопроцессорные архитектуры
- •30.4. Выбор архитектуры
- •Лекция №31 архитектура современных программных средств План лекции
- •31.1. Программное обеспечение эвм
- •31.2. История развития программных средств эвм.
- •31.3. Структура программного обеспечения.
- •31.4. Проблемно-ориентированные пакеты прикладных программ.
- •Лекция №32 операционные системы эвм.
- •32.1. Системное программное обеспечение эвм
- •32.2. Операционные системы (ос) эвм
- •32.3. Организация операционных систем.
- •32.4. Концепция виртуальной операционной системы.
- •32.5. Типы операционных систем.
- •32.6. Операционная среда ms-dos.
- •32.7. Операционная система Unix.
- •Лекция № 33. Операционные системы эвм (продолжение).
- •33.1. Операционные оболочки эвм.
- •33.2. Многооконный графический интерфейс.
- •33.3. Инструментальное программное обеспечение (ипо) эвм.
- •33.4. Трансляторы с языка высокого уровня.
- •33.5. Двухуровневая организация схемы компилятора.
- •33.6. Естественные языки программирования.
- •Лекция № 34 прикладное программное обеспечение
- •34.1. Прикладное программное обеспечение эвм
- •34.3. Классы пакетов прикладных программ
- •34.4. Основные прикладные средства пк.
- •34.6. Качественные характеристики программного обеспечения
22.3. Тест начальной загрузки post.
POST (Power-On-Self-Test)- программа BIOS, исполняемая при включении питания или при нажатии клавиши Reset. Обычная последовательность шагов при выполнении программы приведена ниже:
- тестирование регистров процессора;
- проверка контрольной суммы ROM BIOS;
- проверка инициализации таймера 8253/8254, портов 8255 (после этого шага доступна звуковая диагностика);
- проверка и инициализация контроллеров DMA 8237;
- проверка регенерации памяти;
- тестирование 64 Кбайт нижней памяти;
- загрузка векторов прерывания и стека в нижнюю область памяти;
- инициализация видеоконтроллера
(после успешног выполнения последнего из перечисленных шагов диагностики, сообщения начинают выводиться на экран);
- тестирование полного объема ОЗУ;
- тестирование клавиатуры;
- тестирование CMOS-памяти и часов;
- инициализация COM и LPT портов;
- инициализация и тест контролера НГМД;
- инициализация и часть контроллера НЖМД;
- сканирование области дополнительной ROM BIOS.
В процессе POST используются ячейки CMOS 07h Shutdown Flag – идентификаторы состояния перед началом теста и BIOS DATA AREA (0:0472) – тип реестра (1234h = <Ctrl – Alt – Del> – “горячий” старт, 4321h – Reset с сохранением памяти). Это позволяет различать режимы рестарта (перезагрузка, выход из защитного режима 80286 и так далее) для обхода некоторых секций POST.
До инициализации видеоадаптера сообщение об ошибках выдаются в виде звукового сигнала, после инициализации диагностические сообщения выдаются на экран в виде кода с коротким текстовым пояснением.
В компьютерах класса AT результаты прохождения тестов заносятся в СMOS 0Eh – Post Diagnostic Status Byte – диагностический регистр.
Кодировка ошибок специфична для каждого производителя BIOS.
Лекция № 23 кэш – память
План лекции
1. Предпосылки разработки кэш-памяти.
2. Принципы построения кэш-памяти.
3. Типы кэш-памяти.
4. Целостность данных в системах с кэш-памятью.
5. Повышение эффективности программ.
23.1. Принципы построения кэш-памяти.
Низкое быстродействие ОЗУ стало одним из основных факторов, сдерживающих производительность ПК. Даже при времени выборки из памяти, равном 70 нс, считать из нее информацию за один цикл работы шины не представляется возможным. Современные микропроцессоры синхронизируются, например, тактовой частотой 33 МГц, и тактовый период составляет приблизительно 30 нс. Поэтому центральный процессор вынужден простаивать 2-3 периода тактовой частоты (т.е. имеет 2-3 цикла ожидания), пока информация из соответствующих микросхем памяти установится на системной шине данных компьютера. Понятно, что в это время процессор не может выполнять никакую другую работу. Такая ситуация ведет обычно к тому, что общая производительность системы снижается, что, разумеется, крайне нежелательно.
Недостаточное быстродействие оперативной памяти подводит к достаточно простому, на первый взгляд выводу: использовать достаточно быструю статическую память. Однако если основную оперативную память (хотя бы пресловутые 640 Кбайт) выполнить на микросхемах статической памяти, то стоимость компьютера возрастет очень существенно. Проблема решается, если между медленной ОЗУ и быстрым процессором поставить буферную память относительно небольшой емкости, но с возможностью работать на тактовой частоте центрального процессора. Она получила название __кэш-памяти__ ("cache" означает не что иное, как убежище или тайник) и реализуется на микросхемах статического типа. Строго говоря, кэш - это специальное устройство, соединяющее между собой процессор и системную шину компьютера, состоящее из кэш-контроллера и собственно кэш-памяти, хотя на практике часто говорят просто о кэш - памяти или кэше. Соответствующий контроллер (например, i82385 фирмы Intel) заботится о том, чтобы команды и данные своевременно перемещались из медленной оперативной динамической памяти через системную шину в статическую кэш-память. Такая кэш-память называется обычно смешанной, поскольку она используется как для чтения команд, так и для переноса данных.
Соответствующий контроллер кэш-памяти должен заботиться о том, чтобы команды и данные, которые будут необходимы микропроцессору в определенный момент времени, оказывались в кэш-памяти именно к этому моменту. При некоторых обращениях к оперативной памяти соответствующие значения заносятся в кэш. В ходе последующих операций чтения по тем же адресам памяти обращения происходят только к кэш-памяти, без затраты процессорного времени на ожидание, которое неизбежно при работе с основной динамической памятью.
В основу работы кэша положен принцип локальности программ. Суть этого принципа заключается в следующем: так как обращения к памяти носят не случайный характер, а выполняются в соответствии с исполняемой программой, то при считывании данных из памяти с высокой степенью вероятности можно предположить, что ближайшем будущем она опять обратится к этим данным (принцип временной локальности). Кроме того, весьма вероятно, что в ближайшем будущем программа обратится к ячейке, которая стоит за той, к которой она обращается в текущий момент (принцип пространственной локальности).
В соответствии с принципом временной локальности информацию в буфере целесообразно сохранять в течение некоторого времени, а принцип пространственной локальности предполагает считывание в кэш нескольких соседних ячеек памяти, то есть блок информации. Каждый блок хранится в строке буфера, а набор таких строк и составляет кэш-память.
На размере блока следует остановиться подробнее, так как он является важным параметром. В целом существует зависимость, в соответствии с которой, чем больше размер блока, тем выше коэффициент удачных обращений (соотношение количества обращений, которые пришлись на кэш, и общего количества обращений процессора к памяти). С другой стороны, чем больше размер блока, тем меньше их помещается в буфере, при этом растет вероятность появления операций пересылки блоков из оперативной памяти. Кроме того, для увеличения скорости блочных пересылок между основной памятью и кэшем, желательно, чтобы с увеличением размера блока росла и разрядность шины данных между оперативной памятью и буфером. Наконец, D. Knuth установил, что линейные участки программ (т.е. участки, в которых отсутствуют команды переходов) обычно не превышают 3...5 команд, а значит, и нет особого смысла в использовании блоков, размер которых превышает эту величину.
Таким образом, информация из основной памяти загружается в кэш блоками по 2...4 слова и хранится в нем в течение некоторого времени. При обращении центрального процессора к оперативной памяти сначала проверяется наличие запрашиваемых данных в буфере, и, если их там не оказывается, осуществляется загрузка в кэш информационного блока из оперативной памяти. Следовательно, при правильной организации алгоритма работы буфера можно добиться того, что в подавляющем большинстве случаев процессор будет обращать к нему, а не к ОЗУ, что существенно повысит производительность системы.
Каждый раз, когда микропроцессору требуется информация, отсутствующая в кэше (cache-miss), он вынужден обращаться через системную шину к основной оперативной памяти. После этого обычно решается, должна ли происходить замена строки в кэш-памяти и какая конкретно строка кэша будет заменена. Об этом заботится так называемый RLU-алгоритм (Last Recently Used), который обновляет именно ту строку кэша, которая используется менее интенсивно. Здесь следует сказать и о производительности кэша, которая определяется временем доступа к кэш-памяти и вероятностью удачных обращений (cache hit). Понятно, что с увеличением длины строки вероятность того, что следующее обращение к кэшу будет удачным, повышается. Известно, например, что если при объеме кэш-памяти 4 Кбайт и длине строки 4 байт вероятность удачных обращений составляет 80 %, то при удвоении длины строки это значение может достигать уже 85 %. Однако при увеличении длины строки еще в два раза вероятность удачных обращений достигнет только 87%.
Обычно внешняя кэш-память, реализованная на отдельных микросхемах, дополнительно включает в себя память для тегов или признаков (тег-кэш). Эта память содержит адреса информации, хранимой в кэше. Таким образом, микропроцессор использует память для тегов, как справочную таблицу, просматривая ее в поиске требуемых адресов. Если она содержит нужный адрес, то следует обращение к кэш-памяти, если нет - к оперативной.
Внешняя кэш-память и память для тегов выполнены обычно в виде DIP-микросхем типа SRAM со временем выборки 20-25 нс. Размер кэш-памяти обычно составляет 64, 128 или 256 Кбайт, а размер памяти для тегов - 8 или 32 Кбайт. Например, если на системной плате установлено свыше 4 Мбайт оперативной памяти, то обычно используется 256 Кбайт кэш-памяти и 32 Кбайт памяти для тегов.