3 ВВЕДЕНИЕ В 2006 году автором было издано учебное пособие «Периферийные устройства вычислительных систем», в котором отражались вопросы: 1) роли и места ПУ в вычислительных системах; 2) организации обмена данными в ЭВМ; 3) назначения, принцип действия, структуры и программирования последовательного и параллельного интерфейсов; 4) построения шин PCI и USB; 5) подключения ПУ к ЭВМ посредством указанных интерфейсов и шин. В это пособие не вошли материалы, посвящённые конкретным ПУ, таким как: клавиатура, принтеры, видеосистемы, внешние запоминающие устройства на магнитных и оптических дисках, интерфейсы для их подключения и ряд сопутствующих вопросов, отражающих проблему повышения надёжности этих устройств (“холодный” и “горячий” ремонт накопителей, RAID-массивы и т.д.). Данная работа «ИНТЕРФЕЙСЫ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ» (Периферийные устройства. Часть 2) предназначена для восполнения этого пробела. 4 1. КЛАВИАТУРА 1.1. Структурная схема клавиатуры AT Главным устройством ввода большинства компьютерных систем является клавиатура. Вся клавиатура IBM для больших ЭВМ и для микро-ЭВМ PC 3270 реализуется по емкостной технологии. Механика и электроника емкостной клавиатуры сложна и соответственно дорога. Более дешевой является жесткоконтактная клавиатура, но она не так долговечна как емкостная. IBM разработала конструкцию клавиатуры, позволяющую взаимодействовать с ПК без использования соединительных проводов. Здесь используется ИК-линия связи. Структурная схема клавиатуры AT приведена на рис. 1.1а, а фрагмент её матрицы на рис. 1.1б. Алгоритм работы может быть кратко описан в следующем виде: процессор клавиатуры сканирует матрицу клавиатуры методом «бегущей единицы» и выдает скэн-код, зависящий от нажатой клавиши, в буферный регистр контроллера по последовательному интерфейсу. Данные передаются по 11 бит, причем восемь из них собственно данные, а остальные синхронизирующие и управляющие. Кроме того, процессор клавиатуры определяет продолжительность нажатия и может обработать даже одновременное нажатие нескольких клавиш. универсальный периферийный интерфейс ЗПр1 сист. магистраль Матрица 8042 UPI ДШ строк БР двунаправленная передача сдвиг 6805 Motorola clock AT порт В/В адрес порта двунаправленный скэн-код Выбор колонки 60h Контроллер клавиатуры 8042 64h порт для передачи команд и состояния Рис. 1.1а. Структурная схема клавиатуры AT В клавиатуре установлен буфер емкостью 16 байт, в который заносятся данные при слишком быстрых или одновременных нажатиях. Затем эти данные в соответствующей последовательности передаются в систему. Обычно при нажатии клавиш возникает эффект дребезжания, т.е. контакт устанавливается не сразу, а после нескольких кратковременных замыканий и размыканий. 5 Выходные линии n n+1 n+2 n+3 m m+1 m+2 m+3 Входные линии Рис. 1.1б. Фрагмент матрицы клавиатуры Процессор, установленный в клавиатуре, должен подавлять это дребезжание и отличать его от двух последовательных нажатий одной и той же клавиши. Для приема и передачи данных между клавиатурой и компьютером используются линии DATA и CLOCK. Передача данных из клавиатуры производится в синхронном последовательном коде (рис. 1.2): старт-бит (всегда 0); 8 бит данных (скэн-код); бит нечетности (дополняет число единиц в посылке до нечетного); стоп-бит (всегда 1). Рис. 1.2. Временная диаграмма передачи данных из клавиатуры Частота импульсов на линии Clock составляет 10 - 20 кГц. Данные действительны в момент перепада 1-0 на линии Clock. Линии Clock и Data являются двунаправленными с резистивной нагрузкой и могут непосредственно соединяться с выводами портов микроконтроллера. По тем же линиям Clock и Data происходит передача команд и данных из контроллера в клавиатуру. Команды клавиатуры служат для управления режимом работы, для запроса повторной передачи, инициализации и диагностики. 6 В AT можно управлять клавиатурой, при этом можно изменять частоту повторения кода нажатой клавиши и задержку перехода в режим повторения. По умолчанию частота повторения равна 10 Гц. Задержка равна 0.5 с. По сигналу ЗПр1 (запрос прерывания 1) процессор переходит к п/п обработки прерываний Int 9h. Американский стандарт расположения клавиш – QWERTY, но существуют и другие варианты расположения клавиш. Скэн-код - (порядковый номер клавиши) изображается однобайтовым числом. Он выдается в буферный регистр из регистра сдвига интерфейса клавиатуры, при этом формируется сигнал прерывания клавиатуры IRQ1. Процессор по этому запросу переходит на выполнение процедуры прерывания <INT 9>, которая анализирует скэн-код (рис.1.3): 1) если это скэн-код переключателей CAPS/Lock; Num Lock; Scroll Lock или клавиш сдвига, то изменение статуса записывается в баты статуса в память; 2) во всех остальных случаях скэн-код транслируется в ASCII-код или расширенный код при условии, что он подается при нажатии клавиши (в противном случае он отбрасывается), а затем записывается в кольцевой буфер, находящийся в системной области памяти. скэн-код Процедура Int 9h нажатие/ отпускание биты статуса Расширенные коды ASCII-коды изменение битов статуса статус Рис. 1.3. Преобразование скэн-кода процедурой прерывания Int 9h Статус хранится в младших адресах памяти в ячейках 417h 418h. Нажали клавишу Shift, ROM-BIOS устанавливает в этих байтах определенный бит. Как только ROM-BIOS получает скэн-код возврата клавиши Shift, она переключает разряд состояния назад. 1.2. Типы кодов клавиатуры Имеются два типа кодов символов: коды ASCII и расширенные коды. 1.2.1. Коды ASCII - байтовые числа, соответствующие расширенному набору кодов ASCII для IBM PC. В него входят: символы пишущей машинки - 48 шт; 32 управляющих кода, которые используются для передачи команд ПУ и не выводятся на экран дисплея, однако каждый из них имеет соответствующий символ, который может быть выведен на дисплей с использованием прямой адресации дисплейной памяти. 7 1.2.2. Расширенные коды - этот набор кодов присвоен клавишам или комбинациям клавиш, которые не имеют представляющие их символы ASCII: функциональные клавиши; комбинации с клавишей Alt и т.д. 1.2.3. Дополнительные коды ASCII Дополнительные коды ASCII можно получить при прямом вводе с клавиатуры, который осуществляется путем ввода десятичного кода символа ASCII с дополнительной цифровой клавиатуры, находящейся справа, при нажатой клавише Alt. [Alt - число 10 на дополнительной клавиатуре]. Этот метод позволяет вводить любые коды ASCII от CHR (1)-CHR (255). Единственный код, который нельзя ввести напрямую, это CHR (0), так как он является префиксным. 1.3. Форматы данных клавиатуры После того, как действие клавиатуры оттранслировано, оно записывается в пару байтов в буфере ROM-BIOS. Младший из этих байтов мы назовем главным байтом, а старший - вспомогательным. 1.3.1. Клавиши ASCII При «обычном» вводе. Главный байт содержит ASCII-код. Вспомогательный байт содержит скэн-код. В случае прямого ввода кодов ASCII. Главный байт содержит ASCIIкод. Вспомогательный байт содержит 0. 1.3.2. Специальные клавиши Главный байт содержит 0. Вспомогательный байт содержит код специальных соответствии с таблицей расширенных кодов. клавиш в Существует несколько комбинаций клавиш для выполнения специальных функций, они не генерируют скэн-коды это: <CTRL-Break>; <Ctrl-Alt-Del>; <Prt Scr>. Повторение действия клавиш и повторяющиеся клавиши Нажимаем на клавишу и держим ее больше 0.5 сек, тогда автоматически будет генерироваться скэн-код этой клавиши с частотой 10 раз в сек., причем только скэн-код нажатия ее. Это дает возможность в драйвере прерывания 9 упростить алгоритм распознавания: 1) нажатия клавиши (одиночное), 2) повторение автоматическое. Если повторение автоматическое, то: 1) если была нажата литера, то она будет передаваться в вызвавшую ее программу в виде серии; 2) если клавиша переключения регистра, то изменится соответствующий бит состояния, причем последующие сигналы будут игнорироваться. 8 Примером повторяющихся клавиш являются Shift (левый) и Shift (правый). ROM-BIOS транслирует эти повторяющиеся клавиши в одни и те же коды символов ASCII. В случае, если это имеет значение, ROM-BIOS может сообщать нашей программе и разницу между ними. Это делается по скэн-коду, который находится в старшем байте. Что касается двух клавиш Shift, то каждая из них устанавливает в байте состояния регистра свой разряд. По этим разрядам можно определить нажатую клавишу. 1.4. Процедуры ОС для работы с клавиатурой Операционная система позволяет выполнять различные процедуры прерывания INT 21h для чтения кодов из буфера клавиатуры, включая средства для получения сразу целой строки, причём номер процедуры задаётся в регистре AH: AH=1 - ввод символа с клавиатуры с эхом на дисплей; AH=7 - ввод символа с клавиатуры без эха и без проверки Ctrl+Break; AH=8 - ввод символа с клавиатуры без эха с проверкой Ctrl+Break; AH=А - ввод с клавиатуры с буферизацией; AH=В - проверка наличия ввода с клавиатуры; AH=С - очистка буфера ввода с клавиатуры; AH=6, DL=FFh - ввод символа с клавиатуры без ожидания. Прерывание клавиатуры. [INT 9h] Алгоритм прерывания клавиатуры Int 9h представлен на рис. 1.4. Получение скэн-кода конец да Shift или переключ.? да Установка байтов статуса BIOS Кл. отпущена? нет нет Кл. отпущена? да конец нет конец Кл. INS? да нет Анализ статуса клавиш Shift и пркл. Помещаем 0 и расширенный код в буфер клавиатуры конец да Выбор кодового номера из таблицы ASCII или таблицы расш. кодов нет Это расшир. код? Помещаем в буфер код ASCII и скэн-код Рис. 1.4. Алгоритм прерывания клавиатуры Int 9h 9 Управление клавиатурой Операции с клавиатурой и набор данных клавиатуры, с которыми работает ROM-BIOS, используют область данных в младших адресах памяти с 417h-472h, 0040:0017-0040:0072, а также ячейки 412h и 488h (табл. 1.1). Таблица 1.1 Байты состояния 0040:0017 0040:0018 Бит 7 6 5 4 3 2 1 0 7 6 5 4 3 Клавиша INSERT Caps Lock Num Lock Scroll Lock Alt Ctrl левый Shift правый Shift INSERT Caps Lock Num Lock Scroll Lock Ctrl-Num Lock если 1, то: режим вставки включен режим Caps Lock включен режим Num Lock включен режим Scroll Lock включен клавиша нажата клавиша нажата клавиша нажата клавиша нажата клавиша нажата клавиша нажата клавиша нажата клавиша нажата режим Ctrl-Num Lock включен 1.5. Буфер клавиатуры На рис. 1.5 изображена структура кольцевого буфера клавиатуры, расположенного в области данных BIOS. Он содержит 32 байта, причём каждому нажатию соответствуют 2 байта в буфере. Например, если была нажата литера, то чётный байт содержит ASCII-код, а нечётный байт - скэн-код. Если была нажата дополнительная клавиша, то чётный байт содержит ASCIIкод, а нечётный байт содержит 0. Если была нажата функциональная клавиша, то чётный байт содержит 0, а нечётный байт - ASCII-код. Кольцевой буфер клавиатуры организован как очередь, поэтому он имеет указатель на голову HP и на хвост TP. Каждый размером в 2 байта. На рис. 1.6 приведены блок-схемы алгоритмов записи и считывания в/из кольцевого буфера. Они показывают, что запись осуществляется программой ROM-BIOS, управляющей TP (указателем “хвоста”), а считывание программой Int_21h, управляющей HP (указателем “головы”). 10 0040:003C 3A 38 "F" "F" 36 34 32 (TP) “R” "E" 30 2E 2C "F" "F" "U" 2A 28 26 "B" "U" "B" (HP) (HP) 24 22 20 (TP) Указатель хвоста ТР TP 1E 0040:001C 36 0040:001A 2A Указатель головы НР HP "R" "E" 22 36 Рис. 1.5. Кольцевой буфер клавиатуры запись ROM-BIOS TP да Буфер полон? считывание INT 21h Буфер пуст? нет ((ТР)) Al да ((HP)) (НР)=3С(60) нет (TP)=(TP)+2 да нет Al (TP)=3C(60) HP да нет (TP)=1E(30) (НР)=(НР)+2 (НР)=1Е(30) Рис. 1.6. Блок-схемы алгоритмов записи и считывания в/из кольцевого буфера 11 Состояния буфера определяются следующими условиями: 1. Буфер пустой, если - (НР)=(ТР) 2. Буфер полон, если: а) (НР)=(ТР)+2 или (ТР)=(НР)-2 во всех случаях, за исключением случая; б) (НР)=30 (1Е), когда (ТР)=60 (3С). Для инициализации буфера необходимо выполнить условие (ТР)=(НР). 1.6. USB клавиатура Клавиатура ПК фактически представляет собой небольшой компьютер, связанный с основной системой одним из двух способов: с помощью стандартного разъема клавиатуры и специального последовательного канала передачи данных; через порт USB. Клавиатура, подключенная к порту USB, работает практически так же, как и при подключении к традиционному порту DIN или mini-DIN. Микросхемы контроллера, установленные в клавиатуре, используются для получения и интерпретации данных перед тем, как они будут переданы через порт USB в систему. Некоторые микросхемы включают в себя логическую часть концентратора USB, что позволяет клавиатуре работать непосредственно в качестве концентратора USB. При получении данных от клавиатуры порт USB передает их на 8042 совместимый контроллер, который обрабатывает данные так же, как и любую другую информацию клавиатуры. Описанный процесс осуществляется уже после загрузки Windows. Но что же происходит в том случае, если пользователю приходится обращаться к клавиатуре при работе в командной строке или при конфигурировании системной BIOS? Как уже отмечалось, для работы с клавиатурой USB в режиме MS DOS необходимо осуществить поддержку технологии USB Legacy в базовой системе ввода-вывода. BIOS, поддерживающая USB Legacy, позволяет выполнить следующие задачи: 1) конфигурирование главного контроллера; 2) подключение клавиатуры и мыши USB; 3) настройка планировщика главного контроллера; 4) направление данных, вводимых с клавиатуры или мыши USB, на контроллер клавиатуры 8042. После загрузки системы драйвер (главного контроллера USB) берет управление клавиатурой на себя, отправляя команду StopBIOS подпрограмме BIOS, которая непосредственно “руководит” клавиатурой. При перезагрузке компьютера в режиме MS DOS главный контроллер USB отправляет команду StartBIOS для повторного запуска той же подпрограммы BIOS. Клавиатура USB, начиная с того момента, как контроллер клавиатуры 8042 принимает отправленные сигналы, работает аналогично стандартным 12 клавиатурам. При этом управление клавиатурой осуществляется на уровне BIOS (параметры BIOS, необходимые для работы с клавиатурой USB, должны быть корректно заданы). Как уже отмечалось, в некоторых случаях для обеспечения соответствующей поддержки клавиатуры USB может понадобиться обновленная версия BIOS. Кроме этого, используемые наборы микросхем системной логики должны поддерживать режим USB Legacy. 1.7. Примеры программирования Рассмотрим примеры 2-х программ: 1. Очистка буфера клавиатуры Средний уровень: ; очистка буфера перед ожиданием нажатия клавиши MOV AH, 0CH ; очистка MOV AL, 1 ; ввод символа с эхом на дисплей INT 21H ; чистим буфер, ждем ввода. Низкий уровень: ; выравниваем значения указателей на голову и хвост CLT ; запрещаем прерывания SUB AX, AX ; обнуляем АХ MOV ES, AX ; добавочный сегмент с начала памяти MOV AL, ES:[41Ah] ; в AL посылаем указатель на голову буфера MOV ES:[41Ch], AL ; посылаем его в указатель хвоста STI ; разрешение прерывания. 2. Ожидание ввода символа без вывода на экран Средний уровень: ; получаем введенный символ MOV AH, 7 ; номер функции INT 21H ; ожидаем ввод символа CMP AL, 0 ; проверка на расширенный код JE EXT_COD ; если да, то на процедуру EXT_COD, иначе – код ;символа в AL. ; процедура обработки расширенных кодов: EXT_COD : INT 21H ; берем второй байт кода CMP AL, 75 ; проверяем на JNE C_R ; если нет, то следующая проверка JMP CUR_LEFT ; если да, то на процедуру C_R: CMP AL, 77 ; сравниваем дальше и т.д. ;Сводная таблица расширенных кодов: Значение второго байта: 75 77 79 END 13 Контрольные вопросы 1. Куда передаёт скэн-код нажатой клавиши процессор клавиатуры при сканировании матрицы клавиатуры? 2. Что делает прерывание клавиатуры Int 9h? 2. УСТРОЙСТВА ПЕЧАТИ 2.1. Классификация и основные требования к ПчУ Печатающие устройства (ПчУ) являются устройствами вывода текстовой информации. ПчУ принято классифицировать по: способу регистрации, т.е. по физическим или химическим процессам, используемым в устройстве для получения видимого изображения на носителе; способу формирования изображения, в соответствии с которым принято все ПчУ делить на знакопечатающие или полнопрофильные, для которых изображение выводимых символов непрерывно, и знакосинтезирующие, матричные, в которых изображение формируется из более мелких элементов (точек, штрихов) в процессе вывода; числу символов, изображения которых формируются на носителе в одном такте работы ПчУ. В этой связи принято различать последовательные и параллельные (построчные) ПчУ, а также страничные ПчУ. Требования к ПчУ многочисленны и порой противоречивы. Основными являются: высокое качество печати; возможность использования различных шрифтов, получения многоцветного изображения и нескольких копий; высокое быстродействие; низкая стоимость. Качество изображения принято оценивать контрастностью и разрешающей способностью. Контрастность D определяет различие в отражающих свойствах наиболее тёмного (светлого) участка изображения и фона. D=lg(Фп-Фф)/Фп, где Фп - отражённый световой поток от единицы поверхности участка изображения, а Фф - поверхности фона. Разрешающая способность R определяет максимальное число различных элементов изображения на единице длины. Отметим, что разрешающая способность невооружённого глаза человека на расстоянии наилучшего видения (около 25 см) составляет 6.3 линии/мм. 2.2. Технологии печатающих устройств и способы регистрации В случае цветного монитора используется аддитивная модель (additionсложение) образования цвета или RGB (Red, Green, Blue). В принтерах используется субтрактивная модель образования цвета (subtraction-вычитание). 14 Первичными цветами для цветных принтеров являются: зелёно-голубой (cyan), светло-красный (magenta) и жёлтый (yellow). Смешивание всех трёх цветов субтрактивной модели даёт чёрный цвет. В некоторых принтерах для получения истинно чёрного цвета используется отдельный чёрный краситель (black), поэтому такая модель цветообразования называется также CMY или CMYK. В ЭЛТ люминофоры излучают свет (электромагнитные волны). Краситель на бумаге действует как фильтр, поглощая (вычитая) одни и отражая другие длины электромагнитных волн. На сегодняшний день используются следующие технологии для цветной печати. Они реализуются в ударных (“игольчатых”) матричных принтерах (dot matrix), в струйных принтерах с жидкими чернилами (liquid ink-jet), в принтерах с термопереносом восковой мастики (thermal wax transfer), в принтерах с термосублимацией красителя (dye sublimation), в струйных принтерах с изменением фазы красителя (phase-change ink-jet) и в цветных лазерных принтерах (colour laser). 2.2.1. Ударный способ Используется многоцветная лента при ударном способе регистрации. Недостатки: скорость печати мала, небольшой выбор палитры. Достоинства: надёжность, низкая стоимость, возможность печати на обычной бумаге. 2.2.2. Струйная технология Струйная технология печати на сегодняшний день самая распространённая для реализации цветных устройств. Струйные чернильные принтеры подразделяются на устройства непрерывного действия (continuous drop, continuous jet) и дискретного действия (drop on demand). К основным достоинствам continuous jet относится возможность воспроизведения широкой палитры цветов с высоким качеством, однако при невысокой скорости печати стоимость подобных цветных принтеров достигает нескольких десятков тысяч долларов. Принцип действия принтеров continuous jet напоминает работу видеосистемы с ЭЛТ. Распыляемая струя заряженных частичек красителя подобно пучку электронов в ЭЛТ проходит через отклоняющую систему конденсаторов и, попадая на бумагу, “рисует” изображение текста, рисунков и т.д. Струйные принтеры дискретного действия опять же делятся на две категории: основанной на нагревании чернил и основанной на действии пьезоэффекта. В технологии с нагреванием чернил (“пузырьковой ” технологии bubblejet или thermal ink-jet) используются терморезисторы, которые при пропускании тока за несколько микросекунд нагреваются до 500 градусов. Образуется чернильный паровой пузырь, который старается вытолкнуть через выходное 15 отверстие сопла каплю жидких чернил. При отключении тока тонкоплёночный резистор также быстро остывает, паровой пузырь, уменьшаясь в размерах, “подсасывает” через входное отверстие сопла новую порцию чернил, которые занимают место ”выстреленной” капли. Цветные принтеры от фирм Cannon и HP используют именно эту технологию. В технологии, основанной на действии пьезо-эффекта (piezo), для управления соплом используют диафрагму, соединённую с пьезо-элементом. Подобный метод используется компаниями Epson, Brother, Dataproducts, Tektronix. Устройства дискретного действия (drop on demand) достаточно дешевы (500 долларов), позволяют получать широкую гамму цветов. Однако, как правило, требуют специальной бумаги, чтобы избежать растекания чернил. Цветные струйные принтеры CMYK имеют следующие технические характеристики (табл. 2.1): Таблица 2.1 Модель принтера Cannon BJC-70 HP Desk Jet Epson Stylus 660C Colour Параметры Число сопел (монохр./цветных) 64/64 48/48 64/48 360/360 600/600 720/720 0.035/0.035 0.512/0.512 _ Скорость печати в черновом режиме, 4/(150-200) (страниц/мин)/cps 4/(150-200) 8/(300-400) Максимальное разрешение, dpi Память (стандартная/максим.), MB 2.2.3. Технология термопереноса восковой мастики (Thermal wax transfer) Термопластичное красящее вещество, нанесённое на тонкой подложке, попадает на бумагу именно в том месте, где нагревательными элементами (аналогами игл) печатающей головки обеспечивается должная температура (70-80)o C. 2.2.4. Технология термосублимации красителя (Dye sublimation) Эта технология близка к технологии термопереноса, только в этом случае, при нагреве красителя до 400 градусов, краситель переходит из твёрдого состояния в газообразное, минуя жидкую фазу, и осаждается на бумаге. Такая технология позволяет точно определить пропорции красителя. Например, 19% Cyan, 65% Magenta, 34 % Yellow. Комбинацией цветов можно набрать практически любую цветовую палитру. Данная технология обеспечивает практически фотографическое качество получаемого изображения. Основное ограничение - высокая стоимость каждой копии изображения. 16 2.2.5. Технология изменения фазы красителя (Phase-change ink-jet) Используются восковые стерженьки для каждого первичного цвета красителя, которые постепенно расплавляются специальным нагревательным элементом при 90o C и попадают в отдельные резервуары. Расплавленные красители подаются оттуда специальным насосом в печатающую головку, работающую обычно на основе пьезоэффекта. Капли воскообразного красителя на бумаге застывают практически мгновенно. Качество цветов превосходное, допустима двухсторонняя печать, стоимость одной копии невысока. Скорость печати мала (2 страницы/мин.). 2.2.6. Электрофотографический способ лазерных принтеров (Colour laser) В лазерных принтерах используется электрофотографический принцип создания изображения (такой же, как и в копировальных машинах Xerox). Лазер формирует электронное изображение светочувствительной фотоприёмной ленте (барабане) последовательно для каждого цвета тонера (CMYK), т.е. принтер, работающий в монохромном режиме со скоростью 8 стр./мин., в цветном режиме обеспечит только 2 стр./мин. 2.3. Лазерный принтер 2.3.1. Обобщённая структурная схема Обобщённая структура лазерного принтера изображена на рис. 2.1. Рис. 2.1. Обобщенная структура лазерного принтера 1-генератор лазера, 2-вращающееся зеркало, 3-лазерный луч, 4-валики, подающие бумагу, 5-барабан девелопер, 6-фотобарабан, 7,9-узел фиксации изображения (механизм нагрева бумаги), 8-механизм “зарядки” бумаги Сердцем лазерного принтера является фотопроводящий цилиндр (6), (фотобарабан), с помощью которого производится перенос изображения на бумагу. 17 Следующей важной частью принтера является лазер (1) и оптикомеханическая система (2), перемещающая луч. Малогабаритный лазер генерирует тонкий световой луч, отражающийся от вращающегося зеркала (как правило, шестигранного), разряжает положительно заряженную поверхность барабана. Чтобы получилось изображение, лазер включается и выключается управляющим микроконтроллером. Алгоритм создания изображения может быть описан следующей последовательностью: 1. Вращающееся зеркало разворачивает луч в строку на поверхности печатающего барабана. Все это вместе создает на его поверхности строку скрытого изображения, в котором те участки, которые должны быть черными, имеют один заряд, а белые - противоположный. 2. После формирования строки изображения, специальный шаговый двигатель поворачивает барабан так, чтобы можно было формировать следующую строку. Это смещение равняется разрешающей способности принтера и обычно составляет 1/300, 1/600 дюйма. Данный этап печати напоминает построение изображения на экране телевизионного монитора. 3. На следующем рабочем шаге другой барабан - девелопер (developer) (5) наносит на фотобарабан тонер - мельчайшую красящую пыль. Под действием статического заряда мелкие частицы тонера легко притягиваются к поверхности барабана и формируют на нем изображение. 4. Следующим этапом является перенос тонера, значит и изображения на бумагу. Бумага вытягивается из подающего лотка и с помощью системы валиков (4) перемещается к печатающему барабану. Перед самым барабаном бумаге сообщается статистический заряд с помощью механизма зарядки бумаги (8). Затем бумага прижимается к поверхности барабана. Заряды разной полярности, накопленные на поверхности бумаги и на поверхности барабана, вызывают перенос частиц тонера на бумагу и их надежное прилипание. 5. Следующим звеном принтера, встречающего бумагу с изображением на этом пути, является узел фиксации изображения (7, 9). Тонер содержит вещество, способное легко плавиться. Обычно это какой-нибудь полимер или смола. При нагревании до (200-220)o C и повышении давления порошок расплавляется и соединяется с поверхностью бумаги. Только что вышедшие из принтера листы теплые. Далее бумага протаскивается к выходному лотку. 2.3.2. Цифровая обработка полутонов Каждое периферийное устройство (принтер, сканер, дисплей), которое вводит или выводит изображение, имеет конкретное разрешение. Лазерные принтеры формируют изображение путем позиционирования точек на бумаге 18 (растровый метод). Луч не может иметь переменный размер для создания растровых точек изменяющегося размера. Поэтому процесс растрирования заключается в объединении "реальных" точек, создаваемых лазерным лучом, в группы, образующие растровые точки. Рисование на растровом устройстве заключается в вычислении точек, которые покрываются элементами графического изображения, и выводе этих точек на устройство. Процесс вычисления точек изображения называется растрированием или растеризацией (английский термин - rasterization). Рис. 2.2а,б поясняет растрирование. Слева на этом рисунке показано исходное изображение, на которое наложена сетка 14×13, справа - результат растрирования. (а)- исходное изображение (б)- результат растрирования Рис. 2.2а,б. Растрирование изображения Растрирование изображений является сложным преобразованием, поэтому в подавляющем большинстве случаев оно выполняется при помощи системных функций и частично - самим устройством. Растровая форма описывается тремя параметрами: пространственной частотой, формой точки и углом поворота. Каждый из этих факторов посвоему влияет на качество отпечатанного изображения. Пространственная частота растра Пространственная частота растра, линиатура, определяет плотность сетки полутонового растра и, следовательно, кажущийся уровень детальности в изображении. Пространственная частота растра измеряется в линиях на дюйм [Lpi]. Из рис. 2.3 видно, что объем видимых деталей отпечатанной иллюстрации увеличивается с ростом пространственной частоты растра. Рис. 2.3. Влияние линиатуры на детальность изображения Характеристики печатной машины, тип документа и технология печати вот факторы, обычно определяющие пространственную частоту растра, 19 которую следует использовать в конкретном проекте. В табл. 2.2 дана сводка типичных пространственных частот растра, используемых при печати различных документов. Таблица 2.2 Тип документа Художественные книги Информационные бюллетени, формы, объявления Большая часть массовых печатных работ среднего качества Газеты, каталоги на газетной бумаге Параметры печати Диапазон пространственной частоты растра (Lpi) Листовая печатная машина / мелованная бумага 150—300 Листовая печатная машина / немелованная бумага 100—133 Термостатическая рулонная печатная машина / немелованная бумага Газетная печатная машина / газетная бумага 90—133 65—100 Полутоновые ячейки, пятна и точки Цифровые устройства обработки полутонов (лазерные принтеры) могут создавать только точки фиксированного размера (пятна). Для моделирования точек растра переменного размера эти устройства группируют пятна фиксированного размера в матрицу, называемую полутоновой ячейкой (рис. 2.4). Количество потенциально возможных тонов, которые может воспроизвести данная полутоновая ячейка, зависит как от пространственной частоты растра, так и от разрешения печатающего устройства, но отдельная полутоновая ячейка воспроизводит только один оттенок серого. Плотность этого оттенка и размер точки растра непосредственно связаны с числом пятен фиксированного размера в каждой полутоновой ячейке, которая, в свою очередь, определяется числовым значением (от 0 до 255), назначаемым для каждого пиксела. Полутоновая ячейка. Пятна, формирующие точку растра Рис. 2.4. Формирование оттенков серого в полутоновой ячейке 20 100% черного 60% серого 30% серого Рис. 2.5. Получение диапазона тонов Растрирование позволяет с помощью краски одного цвета воспроизвести широкий диапазон тонов, варьируя размер точек краски на странице для выражения различных тонов, обнаруженных в изображении (рис. 2.5). Линиатура и количество градаций серого Отношение разрешающей способности устройства вывода к линиатуре растра дает величину стороны ячейки растра, измеренную в точках принтера. Максимальное количество точек принтера, образующих растровую точку, равно квадрату стороны ячейки. Так, например, если линиатура растра установлена в 100 Lpi (линий на дюйм), а разрешение принтера - 600 dpi (точек на дюйм), то сторона ячейки растра равна 600/100 = 6 точек. При этих условиях растровая точка формируется из 6х6 == 36 точек принтера. Эта цифра определяет количество оттенков серого, которое способен передать растр с заданными параметрами. В общем случае количество оттенков N, передаваемое растром, определяется как: , где dpi - разрешение устройства вывода, а lpi - линиатура печати. Прибавленная единица соответствует белому цвету, когда растровая ячейка вообще не заполнена. Параметры растрирования рассчитываются исходя из необходимости передачи всех оттенков, которые дает компьютерный оригинал, т.е. 256 оттенков при 8-битных полутоновых канала. Когда мы помещаем дополнительные точки растра на каждый линейный дюйм, то в полутоновой ячейке уменьшается количество доступных пятен в каждой горизонтальной линии сетки. С ростом плотности растра пропорционально уменьшается число серых оттенков, которые может воспроизводить каждая полутоновая ячейка. Так, лазерный принтер с разрешением 300 dpi может вывести не более 33 градаций серого при плотности растра 53 линии на дюйм [(300/53)2 + 1 = ~33]. Если увеличить плотность растра до 75 линий на дюйм, то получим [(300/75)2 + 1 = ~17]. Рассуждая аналогичным образом, можно показать, что принтер с разрешением 600 dpi может воспроизводить 65 тонов при плотности растра 75 линий на дюйм, а 21 принтер с разрешением 1200 dpi может вывести 178 тонов при плотности растра 90 линий на дюйм. При чрезвычайно низких пространственных частотах растра (10-30 lpi) форма точки легко просматривается, но с увеличением плотности растра ее становится все труднее обнаружить невооруженным глазом. Форма точки Вторая характеристика цифровых растровых форм - форма точки растра. Предлагается множество форм точки для растрирования - круги, квадраты, эллипсы, линии, ромбы, кресты и так далее (рис. 2.6). Круглые точки часто используются для печати фотоснимков продукции, эллиптические - для сюжетов с людьми, а квадратные - для четкого рисунка. Круглые или эллиптические точки обычно лучше всего подходят для черно-белой печати; эллиптические - для цветной печати. Рис 2.6. Различные формы растровых точек Угол поворота растра Угол поворота растра является важным фактором полутонового растрирования. Именно углы поворота определяют, останется ли незаметной иллюзия, созданная растровой структурой, или она будет резать глаза. При печати полутоновых изображений растровую структуру всегда поворачивают на некоторый угол. Угол наклона растра - это величина относительного угла поворота растровых точек друг относительно друга и относительно общей оси изображения. Этот параметр принимает особое значение при цветной печати, так как печать каждой краски осуществляется с использованием разных углов наклона растра для каждой из использованных красок. На рис. 2.7 показан пример растра с углами наклона в 15, 0 и 45 градусов. Для серых полутоновых изображений заданный по умолчанию угол - 45 градусов. Для цветных изображений четыре печатные формы системы CMYK поворачиваются на разные углы: черный цвет - самый темный и его растр повернут на максимальный угол относительно растров прочих цветов. Растры голубого и пурпурного цветов повернуты на 15 градусов относительно 22 вертикали, но в противоположных направлениях. Самый светлый цвет, желтый, можно безопасно растрировать с использованием углов 0 или 90 градусов. Рис. 2.7. Различные углы наклона растра При печати печатные формы надлежащим образом совмещаются, четыре цвета сводятся вместе и точки формируют небольшие кластеры, напоминающие по форме розу - розетки (рис. 2.8). Розетки растра (raster rosette) - это элементарные ячейки изображения, состоящие из набора растровых точек, формирующих это изображение. Это простые, геометрически правильные узоры, образуемые на бумаге целыми группами растровых точек различных цветов. Понятие розетки растра имеет смысл только при рассмотрении цветной печати. Рис. 2.8. Растровая розетка Методы улучшения печати Есть три фактора повышения физического разрешения лазерного принтера: 1) улучшение механической части, проворачивающей фотобарабан и формирующей таким образом горизонтальное разрешение принтера. Это наиболее сложно поддающаяся модификации система, поэтому ее предпочитают изменять в последнюю очередь, когда все остальные средства уже использованы; 2) уменьшение светового пятна, производимого лазером. Впрочем, повысить физическое разрешение более 600 dpi нелегко, поскольку размер пятна используемого в принтерах велик; 3) уменьшение размера частичек тонера. Это дает результат только после произведения первых двух модификаций. 23 В 1990 году Hewlett-Packard выпустил серию принтеров LaserJet III, которая использовала технологию улучшения разрешения (RET - Resolution Enhancement Technology). Без технологии RET тонер скапливается в местах пересечения линий. При использовании технологии RET уменьшаются размеры точек в местах пересечений, предупреждая скапливания тонера в них (рис. 2.9). Рис. 2.9. Повышение качества печати с помощью технологии RET 2.3.3. Основные характеристики лазерного принтера Скорость печати (страницы в минуту): средний лазерный принтер печатает 4, а в лучшем случае - 6, 8 страниц в минуту. Высокопроизводительные принтеры могут обеспечить 20 и более страниц в минуту. Разрешение Вертикальное разрешение соответствует шагу барабана и для большинства принтеров составляет 1/600 дюйма. Горизонтальное разрешение определяется числом точек в строке и ограничено точностью наведения лазерного луча. 2.4. Языки принтера PCL и PostScript Пользователям не приходится напрямую сталкиваться с языком описания страниц (page description language), однако, это одна из важнейших характеристик устройства вывода на печать, которая определяет класс и область применения принтера. Язык описания страниц используется во время обмена данными между драйвером и устройством вывода на печать, чтобы как можно точнее описать то изображение, которое будет получено на бумаге. В современных цветных лазерных (электрофотографических) принтерах используются только два языка-PCL и PostScript. Язык описания страниц (язык управления принтером) полностью определяет: тип шрифтов, способ кодирования изображения, команды управления принтером и используемые методы форматирования документов. 2.4.1. PCL-(Printer Control Language) В PCL используются стандартные шрифты TTF (True Type Font) систем Windows, в то время как в PostScript применяются одноимённые собственные шрифты. Однако основное отличие состоит в концепции языков описания страниц. Если PCL предназначен для управления работой принтера, т.е. определяет 24 поток команд управления, то PostScript служит для аппаратно-независимого описания страницы. Проще говоря, для создания графического изображения принтер должен интерпретировать описания на языке PostScript. Однако для вывода документа на языке PCL принтеру достаточно выполнить понятные и знакомые команды этого языка. Для одной и той же страницы описание на языке PCL занимает меньше места и обрабатывается принтером быстрее, чем описание на языке PostScript. 2.4.2. HP-GL (Hewlett-Packard Gtaphics Language) HP-GL представляет собой индустриальную норму для чертежных принтеров или плоттеров. Он является расширением PCL. Туда входят инструкции, с помощью которых можно поворачивать изображение на любой угол или отображать зеркально. Геометрические фигуры (круг, прямоугольник или линии) генерируются с помощью HP-GL существенно быстрее, чем с помощью PCL. 2.4.3. PostScript PostScript является стандартизированным языком описания страниц, предусматривающим работу с цветом. Шрифты посылаются на принтер не в виде растрового изображения (типа bitmap), а используется их векторное представление. Так как принтер работает все же с растровым изображением, то шрифты должны быть снова преобразованы в растровую форму. Этим занимается RIP (Raster Image Processor) - специальный процессор, который, пользуясь интерпретатором языка, создает битовый образ символа на основе его размера, очертаний, расположения на странице и т.д. Таким же образом обрабатываются и геометрические изображения. В связи с этим PostScript обладает рядом существенных преимуществ перед PCL: экономит память принтера, так как записанные в векторной форме изображения занимают намного меньше места; предоставляет большие возможности в графическом плане (масштабирование, поворот, зеркальное отображение); файлы языка не зависят от аппаратного обеспечения - они могут восприниматься любым устройством (другим лазерным принтером), поддерживающим язык PostScript. Естественно, все это требует определенных ресурсов, поэтому лазерные принтеры с такой поддержкой стоят дороже. Но эти затраты вполне оправданы, так как значительно расширяют область применения устройства. 2.5. Системы обработки текста Системы обработки текста делятся на два класса: открытые и закрытые. Открытые системы позволяют пользователю создавать и редактировать шрифты. Они используют драйверы принтеров для обеспечения совместимости с разнообразными ПчУ. Некоторые редакторы позволяют самому пользователю создавать драйверы принтеров. Текстовым редактором открытого типа является (ChiWriter). 25 Закрытые системы используют лишь стандартные возможности принтера или своих собственных шрифтов. Они лишены собственных средств проектирования и редактирования шрифтов, настройки на конкретный принтер. Они применяют только свои драйверы принтеров. Примером текстового редактора закрытого типа является (Lexicon). Системы обработки подразделяются на классы: текста по функциональным возможностям 1. Простые редакторы, которые обладают самыми необходимыми средствами работы с текстом. 2. Текстовые процессоры, имеющие мощный набор функций редактирования текста, обеспечивающие качественную твёрдую копию документа. 3. Системы вёрстки текста - настольные типографии. Например: Legenda, The Office Publisher, Page Maker, Ventura Publisher. Контрольные вопросы 1. Чем принято оценивать качество изображения? 2. Какая модель цветообразования используется в принтерах? 3. В чём суть электрофотографического способа формирования цветного изображения в лазерном принтере? 4. В чём суть струйной технологии печати и каковы её разновидности? 5. Как принято классифицировать ПчУ? 6. Какую функцию выполняет лазерный луч в принтере? 7. Что такое растрирование изображения? 8. Какие три параметра описывают растровую форму? 9. Какие три фактора влияют на повышение физического разрешения лазерного принтера? 10. Каковы основные характеристики лазерного принтера? 3. ВИДЕОСИСТЕМЫ 3.1. Введение Видеосистема персонального компьютера предназначена для формирования изображений, наблюдаемых на экране монитора. Ее основу составляют специализированные схемы для генерирования электрических сигналов, управляющих мониторами (видеоадаптер), и сам дисплей. Главная функция, которую выполняет видеоадаптер, - преобразование полученной от центрального процессора информации и команд в формат, воспринимаемый электроникой монитора для создания изображения на экране. 26 3.2. Структура видеоадаптера Видеоадаптеры EGA и VGA можно условно разделить на шесть логических блоков (рис. 3.1): 1. Видеопамять. В видеопамяти размещаются данные, отображаемые адаптером на экране дисплея. Для видеоадаптеров EGA и VGA видеопамять, как правило, имеет объем 256К байт. На некоторых моделях Super-VGA и XGA объем видеопамяти может быть увеличен до 1М байт. Видеопамять находится в адресном пространстве процессора и программы могут непосредственно производить с ней обмен данными. Физически видеопамять разделена на четыре банка или цветовых слоя, разделяющих единое адресное пространство. 2. Графический контроллер (ГК). Посредством его происходит обмен данными между центральным процессором компьютера и видеопамятью. Аппаратура графического контроллера позволяет производить над данными, поступающими в видеопамять, и над данными, расположенными в регистрах-защелках (регистры-защелки описаны ниже), простейшие логические операции (И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, циклический сдвиг). 3. Последовательный преобразователь. Выбирает из видеопамяти один или несколько байт, преобразует их в последовательный поток битов и затем передает контроллеру атрибутов. 4. Контроллер ЭЛТ (CRTC). Генерирует временные синхросигналы, управляющие ЭЛТ. 5. Контроллер атрибутов. Преобразует информацию о цветах из формата, в котором она хранится в видеопамяти, в формат, необходимый для ЭЛТ. Преобразование цветов осуществляется в соответствии с таблицей цветовой палитры (Color Look-up Table). Модифицируя таблицу цветовой палитры, можно выбирать 16 цветов, поддерживаемых видеоадаптером EGA из 64 цветов, которые может отображать цветной улучшенный дисплей. 6. Секвенсер (синхронизатор). Управляет всеми временными параметрами видеоадаптера. Синхронизатор также управляет доступом процессора к цветовым слоям видеоадаптера. Регистры ПРЦ данные адреса D5 ЦАП R P7 P6 P5 P4 P0 P1 P2 P3 Индекс G ЦАП B ЦАП Таблица цветов Регистр выбора цвета (14h) D4 Регистр управления режимом (10h К монитору VSYNC HSYNC Рис. 3.1. Функциональная схема видеосистемы Секвенсер . Регистр горизонтальной свертки (13h) Регистр разрешения цветового слоя (12h) Регистр цвета рамки экрана (11h) Регистры цветовой палитры (0h-0Fh) Регистры контроллера ЭЛТ (CRTC) Слой 3 Слой 2 Слой 1 Слой 0 Видеопамять Преобразователь последовательности Сигналы конфигур/ памяти . Регистры защелки данные Регистры графического контроллера Параметры пикселов Сигналы управления режимом Регистры контроллера атрибутов 27 3.2.1. Месторасположение видеобуфера В ПК фирмы IBM видеобуфер является частью адресного пространства ЦП, в них (в ПК) реализуется дисплей с отображением на память (рис. 3.2). Каждый бит или группа бит в видеобуфере определяет цвет и яркость конкретного участка на экране. Персональный компьютер R/W ЦП Память VRAM Адаптер Видеосигнал Монитор Рис. 3.2. Месторасположение видеобуфера Такое простое изменение местоположения видеобуфера даёт два преимущества: 1) повышение быстродействия; 2) процессор имеет возможность «посмотреть» на экран монитора. Запись процессора в видеобуфер превращается в «запись на экран», а считывание из видеобуфера эквивалентно «считыванию с экрана». Скорость смены информации в видеобуфере в этом случае равна скорости, с какой ЦП записывает данные в память. Применение дисплея с отображением на память требует более сложной организации видеобуфера. Обращение к нему осуществляет как ЦП, так и адаптер для регенерации изображения. Следовательно, видеобуфер должен быть реализован как двухпортовая память и необходимы дополнительные схемы для синхронизации обращений ЦП с операциями адаптера. Ёмкость видеобуфера в различных видеосистемах варьируется от 4KB (адаптер MDA) до 256KB (адаптер VGA). Сейчас 8-16MB и т.д. В новых разработках для построения видеобуфера применяются специальные микросхемы видео ЗУПВ (VRAM). Они имеют два входных канала; один из них, допускающий только считывание, используется адаптером для регенерации изображения, а по второму каналу, допускающему и считывание, и запись, к видеобуферу обращается ЦП. Оба канала действуют параллельно и независимо. 29 3.2.2. Схема формирования изображения Изображение на экране формируется за счет пробега луча электронов слева направо по линиям экрана (строкам развёртки). Чтобы глаз не замечал смены кадров, пробег луча по всему экрану происходит с частотой большей чем 25 Гц (рис. 3.3). След от луча на экране образует растр. Изменяя силу тока в луче электронов при формировании им растра, можно менять интенсивность свечения отдельных элементов экрана - пикселов (pixel от picture element элемент картинки). Эти изменения управляются посредством данных, находящихся в видеопамяти. Они и определяют модуляцию луча электронов во время сканирования экрана. Рис. 3.3. Схема формирования изображения Луч электронов начинает пробегать по экрану с левого верхнего угла до правого верхнего угла. Когда луч доходит до правой стороны, он гасится и перемещается на следующую горизонтальную линию, находящуюся под предыдущей линией. После того, как луч пробежит по экрану, он гасится и перемещается в левый верхний угол. Это движение называется обратным ходом. Во время обратного хода интенсивность луча выключена и на экран ничего не выводится (рис. 3.4). 30 Активный сигнал Вывод запрещен (разрешения вывода) (горизонтальное гашение) Правое окаймление Левое окаймление Обратный ход i-я строка развёртки 1 2 3 4 5 6 i+1 строка развёртки 5 6 HSYNC Сигнал HSYNC Рис. 3.4. Движение луча на строке развёртки 2 1 Рабочая область для вывода данных из буфера (активный сигнал разрешения вывода) 1 2 Рис. 3.5. Формат экрана монитора: 1- горизонтальное окаймление; 2- вертикальное окаймление Непосредственное управление монитором осуществляет видеоконтроллер. Он передаёт управляющие сигналы исполняющим блокам монитора, а они, в свою очередь, полностью контролируют процесс формирования изображения на экране. Для вывода информации на экран видеоконтроллер управляет: строчной и кадровой развёрткой; яркостью элементов изображения; смешением цветов. 31 iii. Аддитивная модель цветообразования В видеосистемах используется аддитивная модель цветообразования (рис. 3.6), которая реализуется посредством 3-х электронных пушек, каждая из которых направляет поток электронов на соответствующие полосы люминофора, в результате образуется цветное свечение. Коричневый (жёлтый) R Вишнёвый Белый G B Голубой Рис. 3.6. Аддитивная модель цветообразования 3.3. Текстовый режим работы видеосистемы Различают текстовый и графический режимы работы видеосистемы. Общий вид видеосистемы в текстовом режиме (для EGA и VGA) изображён на рис. 3.7, в котором выделено шесть логических блоков. Буфер видеосистемы Атрибуты Коды символов Атрибутный контроллер Цвет интенсивность Знакогенератор № строки развёртки 011001000111011 HSYNC, VSYNC Контроллер ЭЛТ (CRTC) Генератор видеосигналов Видеосигнал RGB Внутренняя синхронизация, управление режимом Монитор Управление режимом Рис. 3.7. Общий вид видеосистемы в текстовом режиме В текстовых режимах адаптеров EGA и VGA видеобуфер организован в виде 4-х параллельных банков памяти (рис.3.8). Начальный адрес видеобуфера отображается на адрес B800:0000h или B000:0000h, однако выводимые на экран данные содержатся только в банках 0 и 1. Байты с чётными адресами (символы) находятся в банке 0, а с нечётными адресами (атрибуты) находятся в банке 1. 32 Такая организация невидима для процессора, так как обращениями к банкам управляет CRTC. Текстовый знакогенератор использует таблицы шрифтов из 256 символов, которые находятся в банке 2. Таблицы шрифтов Атрибуты Банк 3 Коды символов Банк 2 Банк 1 Банк 0 Рис. 3.8. Видеобуфер в текстовом режиме 0000h Определения 256 символов 8k 2000h Определения 256 символов 8k 4000h Определения 256 символов 8k 6000h Определения 256 символов 8k 8000h Определения 256 символов 8k A000h Определения 256 символов 8k C000h Определения 256 символов 8k E000h Определения 256 символов 8k Рис. 3.9. Таблица шрифтов знакогенератора в банке 2 адаптера VGA Адаптер VGA поддерживает 8 таблиц (рис. 3.9). Каждая таблица содержит 256 двоичных наборов по 32 байта, поэтому максимальная высота матрицы составляет 32 строки развёртки. Когда реально используемая матрица содержит менее 32 строк, ЗГ просто игнорирует лишние байты в определении каждого символа. В EGA под каждую таблицу шрифтов отведено 16 kB. В VGA используется весь банк без промежутков. После подготовки регистров секвенсера и графического контроллера для прямой адресации банка 2 видеобуфера к нему можно обращаться обычным образом, как к стандартной области памяти в адресном пространстве процессора. Во всех видеосистемах ПК фирмы IBM символы в видеобуфере представляются 2 байтами, причём чётный байт содержит код символа, а нечётный - атрибуты (рис. 3.10а). нечёт (Как выводить) 7 I B R G B I R 0 G B 7 чёт (Что выводить) Код символа Рис. 3.10а. Представление символа в видеобуфере 0 33 Двухбайтному представлению символа в видеобуфере на экране соответствует изображение символа, в котором различают передний план и фон (рис. 3.10б). Фон Передний план * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Из символов складывается текст в виде линейной последовательности, которая отображается на прямоугольные координаты (столбец, строка) экрана в соответствии со следующим рисунком (рис. 3.11). Рис. 3.10б. Представление символа на экране Экран Видеобуфер Строка_0 0000h Строка_1 00A0h Строка_2 0140h Смещение от начала Рис. 3.11. Отображение видеобуфера на экран дисплея Аппаратный знакогенератор преобразует код каждого символа в точечное изображение символа на экране. Одновременно схема дешифратора атрибутов формирует необходимые атрибуты символа - цвет, яркость, мерцание. Изображение символа формируется на прямоугольной матрице пикселов, называемой символьной матрицей. В пределах этой матрицы собственно символ состоит из пикселов на фоне переднего плана (рис. 3.10). Для вывода символа на экран необходимо поместить его код и атрибут в определённые ячейки видеобуфера. Благодаря линейному отображению несложно получить относительный адрес и смещение видеобуфера в зависимости от прямоугольных координат: Смещение = ((строка ширину) + столбец) 2, где под шириной понимается число символов в каждой текстовой строке. Значения строки и столбца отсчитываются от верхнего левого угла экрана, начиная с нуля. 34 Способ интерпретации атрибутных байт зависит от конкретной видеосистемы. Так, на рис. 3.10 показан пример для адаптера CGA. Для адаптера EGA атрибуты пикселов переднего плана IRGB (4 разряда) преобразуются на регистрах палитры в 6-разрядный мониторный код RrGgBb, который, в свою очередь, в адаптерах VGA с помощью таблицы цветов преобразуется в 18-разрядный код, по 6-ть разрядов на каждый цвет (RGB). Таким образом в текстовом режиме в видеобуфере хранятся коды символов, которые транслируются в точечное изображение посредством аппаратного знакогенератора. В основе знакогенератора лежит ПЗУ, в котором хранятся «разложения» символов по строкам развертки. Знакогенератор воспринимает код символа и номер строки развертки на символьной матрице и выдаёт соответствующий двоичный код, преобразуемый в видеосигнал. Наряду с кодами символов в видеобуфере по нечётным адресам находятся байты-атрибуты символов, которые определяют цвет отображаемых символов. 3.4. Схема преобразования цветов Схема преобразования цветов через регистры палитры и RAMDAC может быть представлена в виде рис. 3.12. Контролер атрибутов управляет трактовкой цветовой информации, хранящейся в видеопамяти. В текстовом режиме он обрабатывает информацию из байт атрибутов знакомест (откуда и пошло его название), в графическом - из бит текущего выводимого пиксела. Контроллер атрибутов позволяет увязать объем хранимой цветовой информации с возможностями монитора. Для монохромных (неполутоновых) мониторов часть цветовой информации может преобразовываться в такие элементы оформления, как мигание, подчеркивание и инверсия знакоместа. В состав контроллера атрибутов входят регистры палитр, которые служат для преобразования цветов, закодированных битами видеопамяти, в реальные цвета на экране. i. Преобразование цвета в адаптере CGA В адаптере CGA цветовая палитра меняется совсем просто: два бита цвета пиксела управляют лучами красного и зеленого цветов, а к ним еще добавляется (или не добавляется) общий на весь экран бит управления синим цветом. В результате два бита цвета пиксела могут задавать по четыре цвета в двух разных палитрах. ii. Преобразование цвета в адаптере EGA В адаптере EGA применены уже настоящие программируемые регистры палитр, позволяющие каждому из 16-ти возможных кодов, задаваемых четырьмя битами цветовых слоев, поставить в соответствие один из 64-х возможных цветов, отображаемых монитором EGA. 35 Интерфейс VGA (аналоговый) 255 DAC R Интерфейс EGA (ТТЛ) RrGgBb 0 G B DAC 6/8 6/8 DAC 6/8 RAMDAC Регистры палитры 15 6(4) 8 ( из видеопамяти ) 0 4 (R, G, B, I) Регистр цвета 2(4) Рис. 3.12. Схема преобразования цветов через регистры палитры и RAMDAC На рис. 3.12 левая часть иллюстрирует преобразование битов с условными названиями R, G, В, I в сигналы интерфейса монитора EGA. Название битов условно потому, что в регистры палитр могут быть загружены произвольные значения реальных выходных цветов, кодируемых интерфейсными сигналами Rr, Gg и Bb. iii. Преобразование цвета в адаптере VGA С появлением адаптеров VGA способных задавать большое (256 и более) количество цветов, схему цветообразования усложнили. Теперь на плату графического адаптера из монитора «переехали» цифро-аналоговые преобразователи (ЦАП) сигналов базисных цветов, и появилась возможность отображения чуть ли небесконечного количества оттенков, кодируемых аналоговыми сигналами. Однако реальное число цветов ограничивается разрядностью ЦАП базисных цветов, которая поначалу составляла 6-ть битов на каждый канал, что позволяет задавать 218 цветов. Для того чтобы отобразить 256 кодов цвета (8 битов на пиксел), в эти 2 18 цветов ввели программируемые регистры ЦАП, с помощью которых каждому из 256 кодов ставится в соответствие свой набор битов, посылаемый на схемы ЦАП базисных цветов. Функционально оказалось целесообразным объединить эти регистры, представляющие собой небольшое быстродействующее ОЗУ (RAM), вместе с преобразователями (DAC - Digital-to-Analog Converter, цифро-аналоговый 36 преобразователь). Эта функциональная сборка в настоящее время исполняется в виде микросхемы RAMDAC. Схему преобразования с использованием RAMDAC иллюстрирует правая часть рис. 3.12. Номер регистра RAMDAC, из которого берется цвет текущего отображаемого пиксела, в режиме 256 цветов задают 8-битным кодом цвета пиксела (в видеопамяти). При работе в 16-цветном режиме EGA и 2-4-цветном режиме адаптер VGA использует регистры палитр, на выходе которых получается 6-битный код цвета. Старшие два бита добавляются из регистра цвета, с помощью которого можно переключать палитру сразу для всех цветов. В этих режимах регистры RAMDAC функционально дублируют регистры палитр. Лишнюю ступень косвенности можно сгладить, беря на вход RAMDAC только 4 бита с выхода регистра палитры, а из регистра цвета брать уже 4 бита. Тогда в сами регистры палитр целесообразно загрузить их номера, что обеспечит линейное преобразование (4 бита из слоев пройдут через регистры палитр без изменений). Графические адаптеры имеют возможность переключения режима преобразования - использование в общем-то лишних регистров палитр требуется только для совместимости с ПО, ориентированным на адаптеры EGA. Казалось бы, что для режимов High Color (15-16 бит/пиксел), а тем более True Color (24 бита), табличное преобразование цветов уже не требуется, и биты каждого цвета можно подавать прямо на входы своего ЦАП. Однако если перед каждым ЦАП поставить отдельный блок регистров - ОЗУ объемом 256 18, адресуемое битами данного цвета, то можно выполнять гамма-коррекцию цвета аппаратными средствами адаптера. Гамма-коррекция требуется для увязки способностей цветопередачи дисплея с линейной математической моделью цветообразования, используемой графическими приложениями. У аналогового монитора на ЭЛТ передаточные характеристики цветовых каналов нелинейные и имеют вид, аппроксимируемый функцией Y = X7, где X - входной сигнал, а у = 2,2 (это и есть «гамма»). В RAMDAC загружают таблицу, с помощью которой в выходной сигнал вводятся предыскажения, компенсирующие нелинейность дисплея. Однако разные типы дисплея могут иметь разные передаточные характеристики, что для особо высоких требований к верности цветопередачи должно учитываться при программировании RAMDAC Микросхемы RAMDAC характеризуются разрядностью преобразователей, которая может доходит до 8 бит на цвет, и предельной частотой выборки точек (DotCLK), с которой они способны работать. Естественно, что чем точнее должно быть преобразование, тем труднее его выполнить быстро. Трудности и высокая стоимость достижения высокого разрешения при высокой частоте строчной (прогрессивной) развертки (эти факторы требуют высокого быстродействия RAMDAC) с большой глубиной цвета (требующей высокой точности преобразования) связаны и с этой причиной. Современные 37 графические адаптеры, ориентированные на высокое разрешение и высокую частоту развертки, имеют RAMDAC с частотой порядка 350 МГц и даже выше. 3.5. Графический режим Цветовое значение каждого пиксела хранится как один или несколько бит в видеобуфере (рис. 3.13) и считывается (переносится на экран) возможно с дополнительным табличным преобразованием. Так как каждый пиксел на экране можно адресовать через видеобуфер, то графический режим часто называют режимом с адресацией всех точек (All Points Addressable - APA). Если в видеобуфере пиксел кодируется n-битами, одновременно на экране можно наблюдать 2n цветов. Адаптеры EGA и VGA осуществляют дополнительные преобразования значений пикселов. С помощью специальных схем n-битный код расширяется до m-битного (m>n). В этом случае получается палитра из 2m цветов, но одновременно на экране наблюдается 2n цветов. Особенности графического программирования Графические программы опираются на элементарные процедуры, которые оперируют отдельными пикселами в видеобуфере (рис. 3.13). Основными операциями здесь являются считывание значения пиксела из видеобуфера и запись значения пиксела в видеобуфер. В адаптерах CGA программа может осуществлять прямой обмен с видеобуфером. В естественных графических режимах EGA и VGA видеобуфер организован в виде двоичных плоскостей. Прямой доступ здесь невозможен. Доступом в этом случае управляют специальные схемы, входящие в состав адаптеров, которые образуют так называемый графический контроллер (ГК). Двоичные плоскости в графических режимах EGA и VGA адресуются параллельно: при записи или считывании по конкретному адресу в видеобуфере этот адрес относится не к одному, а к 4 байтам, по одному из каждой плоскости. 38 Двоичные поля в видеобуфере 0110 1011 1110 01 01 2 Экран СGA - Прямое отображение 16 регистров палитры 4 6 Экран EGA - Преобразование через регистры палитры 4 0 16 регистров палитры 17 6+2 0 256 регистров ЦАП 18 ЦАП 5 Экран VGA - Преобразование через регистры палитры и регистры ЦАП Рис. 3.13. Отображения видеобуфера на экране в графическом режиме При выполнении процессором команды считывания данных по адресу из видеобуфера, из видеобуфера извлекаются сразу 4 байта и загружаются в 4 регистра-защелки. Например, на рис. 3.14 регистры-защёлки содержат значения 8 пикселов: 1011; 1100; 0011; 0101; 0010; 0011; 1101; 1010. Двоичные плоскости в видеобуфере Плоскость 3 Плоскость 2 Плоскость 1 Плоскость 0 3 2 1 0 Регистры-защёлки 7 0 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 Регистр процессора 0 7 x x x x x x x x Пикселы Рис. 3.14. Операции считывания процессором из видеобуфера 39 При выполнении процессором записи данных в видеобуфер производится параллельная модификация байт во всех 4-х двоичных плоскостях (рис. 3.15). Регистр процессора x x x x x x x x Двоичные плоскости в видеобуфере Регистры-защёлки 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 Плоскость 3 Плоскость 2 Плоскость 1 Плоскость 0 x x x x Регистр установки/ сброса ГК Рис. 3.15. Операции записи процессором в видеобуфер Физически записываемые в видеобуфер значения пикселов формируются с привлечением данных из регистров-защёлок, байта данных от процессора или предопределённого значения пиксела, находящегося в регистре управления. Когда в командах обмена адресуется видеобуфер, то обмен осуществляется между регистрами защёлок и байтами двоичных плоскостей видеобуфера. Передачу данных между процессором, РГ-защёлками и видеобуфером обеспечивает графический контроллер (ГК). Он обеспечивает двумерную обработку находящихся в Рг-защёлках 8 значений пикселов. Одни операции ориентированы на байты, другие - на пикселы. ГК может обеспечить выполнение 3 байтных операций над данными из РГ-защёлок: 1) может просто передавать данные из видеобуфера в Рг-защёлки (считывание процессора); 2) может передавать содержимое одного из Рг-защёлок в Рг процессора (считывание); 3) может объединить байт данных от процессора с байтами в одном или всех Рг-защёлках (запись). Объединить – значит выполнить логическую поразрядную операции. В пиксельных операциях ГК может: 1) сравнить значение каждого пиксела из Рг-защёлок с заданным значением и вернуть результат сравнения в процессор (считывание); 2) объединить 4-битное значение от ПРЦ со значениями одного или всех пикселов в Рг-защёлках; 40 3) использовать 8-битные значения от ПРЦ как маску, определяющую, какие из 8 значений пикселов передать в двоичные плоскости видеобуфера (запись); 4) объединить значения пикселов с заданным 4-битным значением (запись). Байтные и пиксельные операции программируются с помощью задания режимов считывания и записи. 3.6. Регистр состояния Все видеосистемы ПК IBM имеют регистр состояния, допускающий только считывание. Он отображается на порт 3DAh в цветных режимах. Наибольший интерес для программиста представляют всего 2 бита, отображающие текущее состояние сигналов строчной и кадровой развёрток, формируемых CRTC. С помощью этих бит обеспечивается синхронизация регенерации видеобуфера видеоконтроллером и обращений к нему (видеобуферу) процессора. VGA Порт Бит 3 Бит 0 3BAh/3DAh, 1-сигнал VSYN активен 0-разрешение вывода 3.7. Технология плазменных мониторов По способу формирования изображения мониторы можно разделить на три группы: с электронно-лучевой трубкой (ЭЛТ); плазменные дисплеи; жидкокристаллические экраны. Разработка плазменных дисплеев, начатая еще в 1968 г., базировалась на применении плазменного эффекта, открытого в Иллинойском университете в 1966 г. Принцип действия монитора основан на плазменной технологии: используется эффект свечения инертного газа под воздействием электричества (рис. 3.16). Примерно так же, как работают неоновые лампы. Рис. 3.16. Формирование изображения в плазменном дисплее 41 Формирование изображения в плазменном дисплее происходит в пространстве шириной примерно 0,1 мм между двумя стеклянными пластинами, заполненном смесью благородных газов - ксенона и неона. На переднюю, прозрачную пластину нанесены тончайшие прозрачные проводники или электроды, а на заднюю - ответные проводники. Подавая на электроды электрическое напряжение, можно вызвать пробой газа в нужной ячейке, сопровождающийся излучением света, который и формирует требуемое изображение. Проблема создания цветного изображения была решена путем нанесения в триадах соседних ячеек люминофоров основных цветов: красного, зеленого и синего и подбора газовой смеси, излучающей при разряде невидимый глазом ультрафиолет, который возбуждал люминофоры и создавал уже видимое цветное изображение (три ячейки на каждый пиксель). В современных плазменных дисплеях, используемых в качестве мониторов для компьютера (причем конструкция является ненаборной), используется так называемая технология - plasmavision - это множество ячеек, иначе говоря, пикселей, которые состоят из трех субпикселей, передающих цвета - красный, зеленый и синий. Газ в плазменном состоянии используется, чтобы реагировать с фосфором в каждом субпикселе, чтобы произвести цветной свет (красный, зеленый или синий). Пиксел в плазменном (газоразрядном) дисплее напоминает обычную люминесцентную лампу - ультрафиолетовое излучение электрически заряженного газа попадает на люминофор и возбуждает его, вызывая видимое свечение. В некоторых конструкциях люминофор наносится на переднюю поверхность ячейки, в других - на заднюю, а передняя поверхность при этом изготавливается прозрачной. Каждый субпиксел индивидуально управляется электроникой и производит более чем 16-ть миллионов различных цветов. В современных моделях каждая отдельная точка красного, синего или зелёного цвета может светиться с одним из 256 уровней яркости, что при перемножении даёт около 16,7 миллионов оттенков комбинированного цветного пикселя (триады). На компьютерном жаргоне такая глубина цвета называется “True Color” и считается вполне достаточной для передачи изображения фотографического качества. Столько же дают обычные ЭЛТ. Яркость экрана последней разработки - 320 кД/м2 при контрастности 400:1. Профессиональный компьютерный монитор даёт 350 кД/м2, а телевизор - от (200 - 270) кД/м2 при контрастности 150...200:1. Формирование изображения в плазменном дисплее отражено на рис. 3.17. Рис. 3.17. Формирование изображения в плазменном дисплее 42 На рис. 3.17 приняты следующие обозначения: A - стадия электрического разряда, B - стадия возбуждения эмиттера, 1 - внешний стеклянный слой, 2 - диэлектрический слой, 3 - слой защиты, 4 - электрод отображения (приема), 5 - разряд плазмы, 6 - ультрафиолетовые лучи, 7 - видимый свет, 8 - барьерное преграждение, 9 - люминофор, (флюоресценция (свечение)), 10 - электрод адреса, (корнирующий), 11 - диэлектрический слой, 12 - внутренний стеклянный слой. Шаг пиксела Каждый светящийся элемент экрана формируется тремя точками - красного, зеленого и синего свечения. Существует такое понятие как шаг пиксела или размер зерна (pitch) - это характеристика, напрямую связанная с возможностью базовых структур плоско-панельного дисплея воспроизводить резкие изображения. Это минимальное расстояние между элементами одного цвета. Величина, обратная размеру зерна, - плотность элементов изображения, измеряемая обычно в точках на дюйм. У современных мониторов шаг точек, как правило, не превышает 0,28 мм, хотя в моделях с диагональю 20-21 дюйм он может быть и больше, так как в этом случае повышенная зернистость изображения не так заметна из-за большой площади экрана. Ширина полосы пропускания видеосигнала (bandwidth) Данная характеристика определяет максимальное количество элементов изображения, которые могут быть выведены в строке. Чем шире полоса пропускания, тем больше четкость изображения. Ширина полосы пропускания рассчитывается по формуле: W = H V F, где: Н - максимальное разрешение по вертикали, V- максимальное разрешение по горизонтали, F- кадровая частота, на которой способен работать монитор при максимальном разрешении (например, в режиме 1024 468 точек при частоте регенерации 60 Гц ширина полосы пропускания составит 47 МГц). Полученная величина должна быть несколько меньше полосы пропускания, указанной производителем. Кроме того, зная значение полосы пропускания, несложно оптимально подобрать видео-плату, которая должна обеспечивать ширину полосы видео-частот по крайней мере не меньшую, чем полоса пропускания монитора. Физический и логический размер монитора В качестве меры физических габаритов плоского дисплея обычно используется длина диагонали полезной площади в дюймах, хотя ее высота и ширина чаще измеряются в миллиметрах. До последнего времени можно было быть уверенным, что отношение длин сторон дисплея с высокой плотностью отображения информации (high-information-content display, HIC) равняется 4:3. Однако сегодня появилось множество дисплеев с соотношением сторон 16:9. 43 Логический размер дисплея часто называют также размером в пикселах или, ошибочно, разрешением. Логический размер VGA совместимого дисплея 640 480 точек. Ввиду того, что пикселы в современных компьютерных дисплеях почти всегда квадратные (т.е. имеют одинаковые размеры по горизонтали и вертикали), логические размеры имеют такое же соотношение, что и физическое отношение длин сторон, т.е. 4:3 для VGA и всех остальных популярных форматов, которые разрабатывались с ориентацией на соотношение 4:3. Дисплей с размерами 640 240 точек часто называют 1/2-VGA, а 320 240 - 1/4-VGA. Графическое разрешение Графическое разрешение монитора - количество пикселей, которые образуют картинку на мониторе. То есть, если разрешение 800 600, вы видите 800 вертикальных полос и 600 горизонтальных. При формировании изображения участвует каждый пиксель экрана, при разрешении 640 480 это 307200 адресуемых пикселей, 800 600 - 480000 и при 1024 768 - 1920000 соответственно. Основные достоинства плазменного экрана Плазменный экран обладает следующими функциональными возможностями и характеристиками: 1. Компактностью (глубина не превышает 10 - 15 см) и легкостью при достаточно больших размерах экрана (40 - 50 дюймов); 2. Малой толщиной - газоразрядная панель имеет толщину около одного сантиметра или менее, а управляющая электроника добавляет еще несколько сантиметров. 3. Высокой скоростью обновления (примерно в 5 раз лучше, чем у ЖК-панели). 4. Отсутствием мерцаний и смазывания движущихся объектов, возникающих при цифровой обработке, поскольку отсутствует гашение экрана на время обратного хода, как в ЭЛТ. 5. Высокой яркостью, контрастностью и четкостью при отсутствии геометрических искажений. 6. Отсутствием проблем сведения электронных лучей и их фокусировки присущих всем плоско-панельным дисплеям. 7. Отсутствием неравномерности яркости по полю экрана. 8. 100-процентное использование площади экрана под изображение. 9. Большой угол обзора, достигающий 160° и более. 10. Отсутствием рентгеновского и других вредных для здоровья излучений, поскольку не используются высокие напряжения. 11. Невосприимчивостью к воздействию магнитных полей и вибраций, как ЭЛТ-мониторы. 12. Отсутствием необходимости в юстировке изображения. 13. Механической прочностью. 14. Широким температурным диапазоном. 15. 16. 44 Небольшим временем отклика (временем между посылкой сигнала на изменение яркости пикселя и фактическим изменением) позволяет использовать их для отображения видео - и телесигнала. Более высокой надежностью. Плазменный экран можно снимать видеокамерой, и картинка при этом не дрожит, так как используется другой принцип отображения информации Основные недостатки К числу недостатков можно отнести: 1) ограниченную разрешающую способность большинства существующих плазменных мониторов, которая не превышает 640 480 пикселей. Исключение составляют модели PDP-V501MX и 502MX фирмы Pioneer. Обеспечивая реальное разрешение 1280 768 пикселей, данный дисплей имеет максимальный на сегодняшний день размер экрана, 50 дюймов по диагонали (110 62 см), и хороший показатель по яркости (350 Nit); 2) невозможность "сшивания" нескольких дисплеев в "видеостену" с приемлемым зазором из-за наличия широкой рамки по периметру экрана; 3) высокий уровень энергопотребления "плазменников", который подразумевает подключение их к сети и не оставляет никакой возможности работы от аккумуляторов; 4) интерференцию, "перекрывание" микроразрядов в соседних элементах экрана. В результате подобного "смешивания" качество изображения, естественно, ухудшается; 5) низкую среднюю яркость белого цвета плазменных дисплеев, которая составляет на настоящий момент порядка 300 кд/м2 у всех основных производителей. В общем и целом это достаточно ярко, однако плазменным дисплеям далеко до яркости ЭЛТ, составляющей 700 кд/м2; 6) высокую цену плазменных дисплеев, доступных далеко не всем желающим. 3.8. Жидкокристаллический LCD дисплей Определим основные сокращения, без которых понимание материала при дальнейшем изложении будет затруднено: MegaPixel - величина, описывающая размер рабочей области и объем данных, которые может отображать дисплей. К примеру: 0,8 MegaPixel соответствует разрешению 1024 768, а 1,3 MegaPixel соответствует разрешению 1280 1024. Это означает, что ЖК монитор с 1,3 MegaPixel может отображать на 60% больше данных, и, кроме того, это означает, что рабочая область больше на 60%. Кд/м2 - Кд (кандел) единица измерения освещенности на квадратный метр. Чем больше это значение, тем светлее изображение. LCD (Liquid Crystal Display) - жидко-кристаллический дисплей. TFT (Thin-Film-Transistor) - тонко-пленочный транзистор. 45 TN (Twisted Nematic) - классическая технология для ЖК-панелей, характеризуется низкой ценой. Эта технология формирования изображения основана на изменении поляризации светового потока, проходящего через два скрещенных поляризационных фильтра. PVA (Patterned multiple domains Vertical Alignment) - эта технология формирования изображения, основана на незначительном отклонении жидких кристаллов от нормали. Технология PVA обеспечивает большую контрастность и большие углы обзора. IPS (In Plane Switching) - технология для ЖК-панелей, характеризуется наибольшим углом обзора и высокой точностью цветопередачи. MVA (Multi Vertical Aligment) - технология для ЖК-панелей, характеризуется наименьшим временем реакции и высокой контрастностью матрицы. Linear Smoothing (линейное сглаживание) - эта функция будет работать в случае, если задаваемое разрешение экрана ЖК монитора меньше физического разрешения ЖК монитора - картинка все равно будет выводиться на полный экран. Мониторы без этой функции растягивают изображение со значительными искажениями. В тонкопленочных полупроводниковых жидкокристаллических мониторах TFT LCD (Thin Film Transistor Liquid Crystal Display) жидкокристаллическое вещество расположено между двумя слоями стекла. Свет проходит через кристаллы в соответствии с направлением, в котором повернуты их молекулы. Поляризационные фильтры регулируют проходящий через них свет. При подаче напряжения молекулы кристалла занимают положение, при котором свет встречается с поляризационным фильтром прямо или под углом 90°. Напряжение заставляет жидкие кристаллы работать подобно затвору камеры, блокируя или разрешая прохождение света сквозь фильтры. Высокая эффективность мониторов TFT LCD обусловлена малым расходом материалов и энергии. Высокий КПД и низкий уровень электромагнитного излучения позволяет отнести эти мониторы к разряду устройств, "дружелюбных" к окружающей среде. Дефектные пиксели Международный стандарт для ЖК-панелей, ISO 13406-2, определяет предельные значения количества дефектных пикселов на миллион. В соответствии с табл. 3.1. ЖК-панели делятся на 4 класса. Таблица 3.1. Класс Тип 1 Тип 2 Тип 3 Tип 1 - Постоянно светящиеся пикселы (белый) I 0 0 0 II 2 2 5 Tип 2 - ”Мертвые” пикселы (черный) III 5 15 50 IV 50 150 500 Tип 3 - Дефектные красные, синие и зеленые суб-пикселы 46 Технология жидкокристаллических LCD дисплеев В жидкокристаллическом дисплее материал помещен между двумя стеклянными панелями. При этом используются электрооптические свойства жидкого кристалла, помещенного в электрическом поле. От других типов дисплеев он отличается тем, что использует свет от внешнего источника (рис. 3.18). ЖК-дисплей может быть изготовлен очень тонким и потребляет весьма мало энергии. Жидкий кристалл - промежуточное состояние между жидкой и твердой фазами вещества - проводит или не проводит свет в зависимости от приложенного к нему напряжения или температуры. Отсюда следует, что, управляя напряжением или температурой в определенной области, можно создавать яркие изображения. Несмотря на очевидные преимущества в размерах и энергоэффективности, применению ЖК мониторов сопутствует ряд нерешенных проблем: контрастность, увеличение угла обзора, высокая стоимость. Рис. 3.18. Формирование изображения в жидкокристаллическом дисплее Методы адресации ячеек ЖК-экрана Выполнение преобразования сигнал-свет не является единственной технической проблемой при создании ЖК-монитора. Необходимо обеспечить также своевременную подачу управляющих сигналов на каждую ЖК-ячейку, соответствующую конкретному пикселу изображения, в течение одного периода кадровой развертки. В мониторе на основе ЭЛТ эта задача решается автоматически в процессе развертки, поскольку развертывающий элемент - электронный луч обеспечивает последовательную засветку всех зерен люминофора. 47 В ЖК-мониторе электронного луча нет, поэтому для подачи на ЖК-ячейки управляющего напряжения используются обычные провода. Однако использовать индивидуальный провод для каждой ячейки не представляется возможным: например, для обеспечения разрешения 640 480 необходимо 307200 проводов! Для решения этой задачи применяются специальные методы, подобные методам, используемым при адресации ячеек оперативной памяти. Для подачи управляющих сигналов на ЖК-ячейки, образующие матрицу размером N M, могут быть использованы следующие способы адресации: однокоординатная; статическая 2-координатная (матричная); динамическая 2-координатная (матричная). Общая шина Я1 1 Я1 Я1 2 Схема управления Данные N При однокоординатной адресации подача управляющего напряжения на каждую ячейку строки (или столбца) осуществляется по отдельным линиям (рис. 3.19). Если в строке содержится N ячеек, то для управления ими потребуется как минимум N+ 1 провод (один из них - общий для всех ячеек). Для подачи напряжения на все ячейки матрицы потребуется (N+1)*М проводов. Кроме того, необходимо М схем управления. Очевидно, что использовать такой метод адресации ЖК-ячеек неэкономично. Схема управления строками Рис. 3.19. Однокоординатная адресация ячеек При 2-координатной (матричной) адресации (рис. 3.20.) используются только две схемы управления и общие линии (провода), соединяющие все ячейки одного столбца (строки). В результате необходимое число линий управления уменьшается до M1 Я1,1 Я1,2 Я1,j-1 Я1,j 2 NM . Каждая ячейка активизируется только в том M2 случае, если на нее одновременно Я2,1 Я2,2 Я2,j-1 Я2,j поступят два сигнала: сигнал выбора строки и сигнал выбора Mi-1 столбца. Если сигналы управления, Яi-1,1 Яi-1,2 Яi-1,j-1 Яi-1,j формируемые схемами управления Mi строками и столбцами, в течение Яi,1 Яi,2 Яi,j-1 Яi,j кадра остаются неизменными, то N1 N2 Nj-1 Nj такой способ матричной адресации является статическим. Схема управления столбцами Рис. 3.20. Статическая адресация ЖК-ячеек Схема управления строками (осуществляет запись в текущую строку) 48 Недостаток этого способа состоит в том, что нельзя независимо управлять состоянием ячеек: если на какой-либо линии сигнал управления отсутствует, то все соединенные с ней ячейки (вся строка или весь столбец) будут выключены. Очевидно, что для управления ячейками ЖК-монитора PC статическая матричная адресация не подходит. При использовании динамической матричной адресации (рис. 3.21а) ЖК1 Я1,3 Я1,1 Я1,2 Я1,N ячейки опрашиваются построчно: на линии управления, соответствующей 2 Я2,3 i-й строке, формируется сигнал выбора Я2,1 Я2,2 Я2,N строки, после чего осуществляется одновременное обращение ко всем Я3,3 Я3,1 Я3,2 Я3,N 3 ячейкам данной строки. Затем осуществляется обращение к i+1 строке M и процесс повторяется. Следовательно, ЯM,3 ЯM,1 ЯM,2 ЯM,N выходные сигналы схемы управления 1 2 3 N столбцами определяют состояние не Схема управления столбцами всего экрана, а только одной его строки (Осуществляет запись в текущий столбец) в течение периода строчной развертки. Рис. 3.21a. Динамическая адресация Таким образом, формирование ЖК-ячеек изображения на экране ЖК-монитора, как и обычного монитора, осуществляется построчно, но все ячейки строки обновляются одновременно. Каждая ЖК-ячейка должна при этом сохранять свое состояние до начала следующего цикла. Tкадра Сигналы, формируемые схемой Tстр управления строками, представляют собой 1 последовательность импульсов, t период следования которых 2 t равен периоду кадровой развертки, причем сигналы на 3 t соседних линиях сдвинуты относительно друг друга на время, необходимое для M активизации ячеек строки t (рис. 3.21б). Для ускорения Рис. 3.21б. Динамическая адресация ЖК-ячеек. обновления изображения все Временная диаграмма строки ЖК-экрана разбиваются на две равные группы (четное и нечетное поля), для каждой из которых используется собственная схема управления. Этот прием напоминает чересстрочную развертку, но формирование изображения обоих полей осуществляется одновременно. Такой способ формирования изображения называется двойным сканированием и позволяет вдвое сократить время 49 обновления экрана, т.е. в два раза повысить частоту кадров. При этом можно использовать менее инерционные ЖК-ячейки, что позволяет повысить качество динамического изображения. Динамическая адресация требует точного соблюдения временных соотношений между сигналами управления строк и столбцов. Для синхронизации сигналов управления строк и столбцов с выходными сигналами видеоадаптера ЖК-мониторы оснащаются схемами управления частотой и фазой. Матричная адресация имеет серьезный недостаток, являющийся следствием использования общих линий управления для всех ЖК-ячеек строки (столбца): при активизации каких-либо ячеек соседние с ними ячейки также частично активизируются. В результате контрастность изображения на ЖК-экране резко ухудшается. Чем выше уровень управляющего напряжения, подаваемого на ЖК-ячейки, тем хуже контрастность. i. Технологии изготовления ЖК-экранов ЖК дисплеи с активной матрицей ЖК дисплеи с активной матрицей (AM-LCD) используют описанный выше принцип действия для элементов каждого цвета. Цветовоспроизводящие элементы в таком дисплее влияют друг на друга. Для устранения этого недостатка используются магнитодиоды. Тонкопленочные транзисторные (TFT) ЖК-дисплеи В TFT LCD дисплеях для каждого цветового элемента используется один транзистор и один конденсатор, которые обеспечивают подачу напряжения на элемент в период включенного состояния транзистора. Закрытый транзистор изолирует элемент до момента следующего своего включения. Для создания изображения здесь используется свойство ЖК вещества проводить или блокировать свет в зависимости от приложенного напряжения. Рис. 3.22. Вольт-контрастная характеристика ЖК-ячейки Поскольку ЖК-ячейка является пассивным оптическим элементом и не излучает свет, ее оптическим параметром является не яркость, а контрастность, определяемая как отношение яркостей ячейки в прозрачном и 50 непрозрачном состояниях. Зависимость контрастности ЖК-ячейки от приложенного напряжения называется вольт-контрастной характеристикой. Типичная вольт-контрастная характеристика ЖК-ячейки представлена на рис. 3.22. Реализация описанной выше технологии решила проблему габаритов и энергопотребления. Однако первые модели ЖК-экранов имели ряд специфических недостатков: 1) низкое быстродействие ячеек - на изменение ориентации молекул жидкокристаллического вещества требовалось до 500 мс, что не позволяло использовать такие ЖК-экраны для отображения динамических изображений (например, при быстром перемещении манипулятора «мышь» на экране монитора пропадало изображение его указателя); 2) сильная зависимость качества изображения (яркости, контрастности) от внешнего освещения; 3) ограниченный угол зрения, под которым изображение на ЖК-экране хорошо видно; 4) низкие яркость и насыщенность изображения; 5) ограниченные размеры; 6) высокая стоимость. С целью устранения этих недостатков технологии изготовления ЖК-ячеек постоянно совершенствуются. Сравнение технологий DSTN, TFT, DFPI Первой технологией, позволившей значительно повысить качество изображения на экране ЖК-монитора, стала технология DSTN (Dual-scan Super- Twisted Nematic – сверхзакрученные нематические ячейки с двойным сканированием). Эта технология основана на использовании ЖК-ячеек с более подвижными молекулами и большим углом поворота плоскости поляризации (120° по сравнению с 90°), а также двойного сканирования строк экрана. Благодаря увеличению угла поворота плоскости поляризации света, обеспечивается более высокая контрастность изображения, а использование вещества с более подвижными молекулами и двойное сканирование снизило время реакции ЖК-ячейки до 150 мс и позволило значительно повысить частоту обновления экрана. Хотя с помощью технологии DSTN и удалось повысить качество изображения на экране ЖК-монитора, но осталась неразрешенной проблема низкой контрастности изображения, вызванная частичной активацией соседних ячеек. Устранить этот недостаток позволила так называемая технология активных ЖК-ячеек. От обычной (пассивной) ЖК-ячейки активная отличается наличием собственного электронного ключа. Такой ключ позволяет сигналом низкого уровня (около 0,7 В) коммутировать высокое (десятки вольт) 51 напряжение. На рис. 3.23 представлены схема простейшего транзисторного ключа на биполярном транзисторе и диаграммы его работы. Использование активных ЖК-ячеек позволило значительно снизить уровень сигнала управления и тем самым решить проблему частичной засветки соседних пикселов. Поскольку электронные ключи выполняются по тонкопленочной технологии, подобные ЖК-экраны получили название TFTэкранов (Thin Film Transistor- тонкопленочный транзистор). Технология TFT была разработана специалистами фирмы Toshiba. Она позволила не только улучшить показатели ЖК-мониторов (яркость, контрастность, угол зрения и др.), но и создать на основе активной ЖК-матрицы цветной монитор. Каждый элемент такой матрицы образован тремя тонкопленочными транзисторами и триадой управляемых ими ЖК-ячеек. Каждая ячейка триады снабжена светофильтром одного из трех основных цветов: красного, зеленого или синего. Изменяя уровень поданного на транзистор управляющего сигнала, можно регулировать яркость каждой ячейки триады. Таким образом, TFT-экран ЖК-монитора состоит из таких же триад, как экран обычного монитора на основе ЭЛТ. Рис. 3.23. Схема транзисторного ключа (а) и диаграммы его работы (б) Отметим, что формирование и подача управляющего сигнала видеоадаптера на каждую ЖК-ячейку экрана - задача очень сложная. Для ее решения в состав плоскопанельного монитора входит специальная электронная схема управления - контроллер ЖК-экрана. Контроллер является самым сложным элементом ЖК-монитора. Его задача заключается в синхронизации по частоте и фазе выходных сигналов видеоадаптера и управляющих ЖК-экраном синхросигналов, формируемых схемами управления строками и столбцами (рис. 3.21а). Рассогласование этих сигналов по частоте ведет к нарушению корректности обновления строк; 52 нарушается соответствие положения элементов растра на экране временным параметрам видеосигнала. В результате изображение пропадает либо наблюдаются такие дефекты, как дрожание растра или вертикальные линии на изображении. После выравнивания частот указанных сигналов контроллер ЖК-экрана производит их синхронизацию по фазе, что позволяет добиться необходимой фокусировки изображения и полностью устранить дрожание изображения. Помимо адресации ячеек и синхронизации изображения, контроллер ЖК-экрана выполняет преобразование видеосигнала по уровню. Необходимость в таком преобразовании обусловлена тем, что уровень сигнала, подаваемого на ЖК-ячейку, отличается от уровня выходного сигнала видеоадаптера. Часто в результате этого преобразования значительно уменьшается количество оттенков цветов, отображаемых на экране ЖК-монитора; оно оказывается меньше, чем в состоянии обеспечить видеоадаптер, исходя из объема установленной на нем видеопамяти. Анализируя методы адресации элементов ЖК-экрана, нельзя не заметить определенного сходства между ячейками ЖК-экрана и ячейками оперативной памяти. В частности, в обоих случаях весь массив ячеек разбивается на строки и столбцы, и осуществляется их независимая адресация. Обновление информации как в памяти, так и на ЖК-экране происходит построчно. В этой связи становится очевидной нерациональность использования аналогового видеосигнала для управления ЖК-экраном. Ранее, когда видеоадаптер использовался только с обычными мониторами на основе ЭЛТ, последовательный способ передачи информации являлся единственно возможным, поскольку в таком мониторе имелся единственный развертывающий элемент - электронный луч, последовательно сканировавший все элементы растра. Иначе обстоит дело в ЖК-мониторах. Контроллер ЖК-экрана вынужден выполнять дополнительные преобразования видеосигнала: из аналогового в цифровой и обратно. Такие преобразования сопровождаются появлением дополнительных искажений (в частности, упомянутым выше ограничением палитры). Налицо наличие трех лишних преобразований: цифро-аналогового в видеоадаптере, аналого-цифрового и цифро-аналогового - в контроллере ЖК-экрана. Это снижает качество изображения на ЖК-экране и значительно усложняет его конструкцию. С целью устранения промежуточных преобразований была разработана новая технология DFPI (Digital Flat Panel Initiative - цифровая инициализация плоской панели), в соответствии с которой содержимое ячеек видеопамяти передается непосредственно в ячейки ЖК-экрана. Реализация этой технологии позволяет повысить скорость обновления экрана и устранить проблему синхронизации работы контроллера экрана и видеоадаптера. 53 Контрольные вопросы 1. Где расположен видеобуфер в ПК фирмы IBM? 2. Модель цветообразования в видеосистемах. 3. Что содержит видеобуфер в текстовом и графическом режимах? 4. Что является основным узлом знакогенератора (ЗГ)? 5. Где по отношению к видеобуферу расположен ЗГ в текстовых режимах, в графических режимах? 6. Какова роль CRTC? 7. Что определяет регистр состояния видеосистемы? 8. Для чего предназначены регистры палитры? 9. Какова функция и разрядность регистров цвета в адаптерах VGA? 10. Какие байтные операции осуществляет графический контроллер (ГК)? 11. Какие пиксельные операции осуществляет графический контроллер (ГК)? 4. УСТРОЙСТВА ВНЕШНЕЙ ПАМЯТИ. НАКОПИТЕЛИ НА МАГНИТНЫХ ДИСКАХ 4.1.Основные характеристики и способы записи информации 4.1.1. Внешние характеристики устройств внешней памяти Система внешней памяти имеет два уровня - собственно внешнюю и архивную память. В состав системы внешней памяти входят ВЗУ (их часто называют накопителями), контроллеры ВЗУ, а также носители информации. Внешняя память не имеет адресной организации; кванты информации в ней отличаются от квантов ЦП и непосредственно недоступны для обработки в ЦП. Для обработки информация из внешней памяти должна быть загружена в основную память. В качестве ВЗУ используются накопители с подвижным носителем, среди которых наиболее распространены накопители на магнитных дисках (НМД), оптических дисках (НОД), магнитных лентах и накопители с неподвижным носителем - ВЗУ на основе цилиндрических магнитных доменов. Информация во ВЗУ может располагаться в виде линейной последовательности блоков либо в виде двумерного массива. В этой связи различают накопители с последовательным доступом (НМЛ) и накопители с прямым доступом. ВЗУ принято характеризовать следующими параметрами: 1. Время доступа AT (Access Time) [мс]: a) дисковод с шаговым двигателем имеет AT=65-100мс для перехода с одной дорожки на другую, (1983 г.); b) с линейным двигателем имеет AT=30-40мс (1983 г.). В наиболее быстродействующих на сегодня системах AT=0.5-2 мс (CD-ROM до 200 мс). 54 2. Внутренняя скорость передачи данных (internal transfer rate) между носителем и буферной памятью контроллера задает физический предел производительности накопителя. Эта скорость выражается в разных величинах, если указывается в мегабитах в секунду(Mb/s), то сюда кроме пользовательских данных входят и «накладные расходы» - биты служебных полей. У самых высокоскоростных винчестеров (с частотой вращения 15000 об/мин) этот параметр приближается к 900 Mbit/s. При выражении скорости в MB/s подразумеваются только байты пользовательских данных, поэтому пересчет в MBit/s простым умножением на 8 неправомочен. У современных винчестеров с частотой вращения 5400 об/мин скорость составляет (15-25)MB/s, с частотой вращения 7200 об/мин - (30-60) MB/s. Для каждой модели обычно указывают минимальное и максимальное значения скорости, соответствующее внутренним и внешним трекам (вспомним о зонном формате). 3. Внешняя скорость передачи данных DTR (Data Transfer Rate): a) ST 506/412 = 5 MBit/s , в первых винчестерах; b) SCSI = 1.5 MB/s в асинхронном режиме, 3-4 MB/s в синхронном режиме для первых версий; c) новые интерфейсы SCSI до 40, 80, 160 и даже 320 MB/s и выше; d) для интерфейса АТА в режиме PIO Mode 0 скорость составляет 3.3 MB/s, в режиме PIO Mode (4 - 16.6) MB/s, в режиме Ultra DMA (33,66,100,133) MB/s; e) CD-ROM дисковод с одиночной скоростью имеет скорость обмена 150 KB/s (домашний проигрыватель), с удвоенной скоростью - 300KB/s и т.д. 4. Емкость памяти Максимальная емкость 5,25-дюймовых накопителей увеличилась от 5 и 10 Мбайт (1982 г.) до 300 Гбайт и более для 3,5-дюймовых накопителей половинной высоты (Maxtor MaXLine II). Емкость 2,5-дюймовых дисководов с высотой не более 12,5 мм, которые используются в портативных компьютерах, выросла до 80 Гбайт (Hitachi Travelstar 80GN). 4.1.2. Внутренние характеристики устройств внешней памяти Перечисленные параметры являются «внешними» характеристиками ВЗУ, которые интересуют пользователя. Эти внешние характеристики определяются внутренними, среди которых наиболее важной является информационная плотность записи. Под плотностью записи δs понимают число бит информации, записанных на единице поверхности носителя; это поверхностная плотность записи. Различают также продольную плотность δl (бит/мм), т.е. число бит на единице длины носителя вдоль вектора скорости его перемещения и поперечную плотность δq (бит/мм), т.е. число бит на единице длины носителя в направлении перпендикулярном вектору скорости δs δl δq . Плотность записи определяет геометрические размеры накопителя, параметры его быстродействия, а также объем памяти. В свою очередь, 55 информационная плотность записи определяется принципами регистрации информации на носителе, материалами, конструктивными особенностями и технологией изготовления как носителя, так и средств записи-считывания. 4.2. Физические основы регистрации информации на подвижном носителе Наиболее распространенными способами регистрации информации на ВЗУ является магнитная и оптическая запись на поверхности подвижного носителя и запись информации в МД-структурах. Основы магнитной записи. Запись и считывание информации происходят в процессе взаимодействия магнитного покрытия, т.е. «поверхности носителя» и магнитной головки (МГ). МГ представляет собой электромагнит, сердечник которого выполнен из магнитомягкого материала, обладающего малой коэрцитивной силой и большим значением индукции насыщения, и токовых обмоток. Слой носителя, в котором происходит непосредственная регистрация информации и ее хранение, выполняется из магнитотвердого материала со сравнительно большими значениями коэрцитивной силы и остаточной индукции (Hc=1200080000А/м, Bm=0,1-0,6Тл). Материал магнитного покрытия носителя можно представить в виде множества хаотически расположенных магнитных доменов, ориентация которых изменяется под действием внешнего магнитного поля. ВЗУ используют для записи информации два противоположных состояния намагниченности. Домены материала образуют более крупные единицы участков поверхности - магнитные биты (или магнитные триггеры - МТ), которые более устойчивы к магнитным помехам и поэтому способны надежно сохранять свое состояние намагниченности. Размер МТ есть произведение его ширины на длину. Ширина МТ равна ширине дорожки (ширине головки). Между дорожками имеется интервал, чтобы исключить влияние соседних дорожек, поэтому эффективная ширина бита равна расстоянию между дорожками. На минимальную длину магнитного триггера (бита) влияют следующие факторы: 1. Имеется некоторый предел того, как близко можно размещать переходы магнитного поля вдоль дорожки из-за сил отталкивания. 2. Размер зазора сердечника головки. Обычно длина триггера делается равной ширине зазора (как минимум). Если меньше, то можно перемагнитить соседний триггер, что недопустимо. 3. Характер магнитного материала поверхности: a) оксидное покрытие - совокупность частиц магнитного материала, находящихся в связующем веществе, b) металлическое покрытие - осажденная пленка чистого магнитного материала. 56 Наряду с минимальной длиной магнитного триггера вторым критическим параметром оказывается порог силы магнитного поля, необходимого для намагничивания поверхностного покрытия (коэрцитивная сила). Минимальный размер участков МТ делается все меньше, что позволяет упаковать больше битов. Коэрцитивная сила повышается, что позволяет образовать на поверхности устойчивые магнитные участки. Современные ВЗУ используют для записи информации два противоположных состояния намагниченности. МТ ориентируются вдоль силовых линий внешнего магнитного поля и, благодаря высокому значению коэрцитивной силы материала, сохраняют полученную ориентацию в течение длительного времени после окончания действия магнитного поля. Внешнее магнитное поле создается магнитной головкой при записи. Если поле МГ ориентирует МТ в плоскости носителя, то запись называется горизонтальной (рис. 4.1б в), если поле МГ ориентирует МТ перпендикулярно плоскости носителя, то - вертикальной (рис.4.1г, д). а б в г д Рис. 4.1. Горизонтальная и вертикальная записи на магнитной поверхности Из двух методов записи сейчас наиболее распространена горизонтальная запись. Поскольку каждый из методов записи может использовать лишь два состояния намагниченности покрытия, то для регистрации информации особое значение приобретают переходы от одного состояния к противоположному состоянию. Этот переход является «отпечатком», который может быть обнаружен с помощью МГ чтения. Горизонтальная магнитная запись МГ записи представляет собой магнитопровод из магнитомягкого материала с зазором. На этом магнитопроводе размещается обмотка, в которую подается ток записи Iw, как показано на рис. 4.2а. Iw g .d s Iw а) б) Рис. 4.2. Горизонтальная магнитная запись t 57 При протекании тока Iw по обмотке МГ в магнитопроводе создается магнитный поток, который замыкается через зазор “g”. Поскольку магнитное сопротивление зазора “g” велико, то поток частично замыкается через магнитный слой носителя толщиной “s” , отстоящий от зазора головки на расстоянии “d”. Этот боковой магнитный поток МГ приводит к изменению ориентации доменов (и МТ) в запоминающем слое. Ориентация МТ будет изменяться на противоположную при изменении направления тока в обмотке записи. На рис. 4.2б показано воздействие тока на различные участки носителя при его движении. При равномерном движении сохраняется пропорциональная зависимость между временем протекания тока в МГ и перемещением носителя. В результате в магнитном слое остаются отпечатки в тех местах носителя, которые находились под МГ записи в моменты переключения тока Iw. Каждый такой отпечаток соответствует переходу (границе) между участками носителя с противоположными состояниями намагниченности. Количество переходов, которые могут быть размещены на единице площади носителя, называют физической плотностью записи. Предельное значение физической плотности записи зависит от метода магнитной записи (вертикальной или горизонтальной), величины зазора в МГ и ее конструкции, расстояния между МГ и покрытием носителя, от характеристик магнитного материала носителя и ряда других факторов. МГ чтения позволяет определять моменты времени, когда при движении носителя под ней оказываются границы между участками с противоположными состояниями намагниченности носителя. Магнитный поток, создаваемый доменами носителя (МТ), частично замыкается через магнитопровод МГ чтения. При прохождении под МГ чтения отпечатка потокосцепление ее обмотки изменяется, и в ней наводится ЭДС. Величина ЭДС считывания Ur, согласно закону Фарадея, пропорциональна скорости изменения потока Ф, т.е. Ur=-k(dФ/dt). На рис. 4.3а показано формирование ЭДС самоиндукции, которая создает напряжение Ur на сопротивлении нагрузки. Закон изменения Ur показан на рис. 4.3б. Ur Ф Ur g . d s t t1 а) б) Рис. 4.3. ЭДС самоиндукции создаёт напряжение Ur на сопротивлении r 58 Уменьшение длительности импульса воспроизведения может быть достигнуто путем уменьшения зазора в головке g , толщины магнитного покрытия s, расстояния d и длины перехода между соседними участками с противоположными направлениями намагниченности. Длина перехода определяется взаимодействием соседних участков носителя и для заданного материала ограничена снизу. Важным параметром является расстояние (d) от зазора МГ до поверхности носителя. Если оно равно нулю, то реализуется контактная запись, характерная для МЛ и ГМД. При использовании жестких дисков реализуют бесконтактную запись, при которой МГ «летит» над поверхностью носителя. 4.3. Способы записи информации на магнитном носителе Способ записи без возврата к нулю с переключением потока по «1» При регистрации информации на магнитном носителе производится изменение направления тока записи Iw в обмотке МГ при записи «1». Таким образом при записи каждой 1 магнитный поток в МГ меняет направление на противоположное, т.е. происходит «переключение потока», и на поверхности носителя остаются отпечатки - переходы от одного направления намагниченности к противоположному направлению. При записи «0» направление тока записи и, следовательно, состояние носителя не изменяются, таким образом, при записи «0» на поверхности носителя отпечатков не остаётся. В процессе считывания информации с носителя в МГ чтения индуцируются импульсы в моменты времени, когда под головкой оказываются переходы-отпечатки; эти импульсы соответствуют «1» в записанной цифровой последовательности. Диаграмма, показывающая изменение тока записи Iw и считываемого сигнала Ur, приведена на рис. 4.4. Для восстановления цифровой последовательности при чтении необходимо осуществить синхронизацию, например, с помощью дополнительной дорожки с синхроимпульсами либо с помощью дополнительного синхрогенератора. Метод БВН-1 не обладает свойством самосинхронизации. Способ группового кодирования (ГК) Для ограничения максимальной длины непрерывной последовательности нулей при записи может быть использован принцип группового кодирования. Вся подлежащая записи на носителе цифровая последовательность разбивается на группы из (m) бит в каждой. Затем каждая такая группа из (m) бит заменяется промежуточной группой из (m+1) бит, таким образом, чтобы уменьшить количество подряд идущих «0». Это даст возможность осуществить синхронизацию, используя только информационные биты, т.е. осуществить самосинхронизацию. Способ фазовой модуляции (ФМ) В начале каждого такта записи производится переключение направления тока, причём при записи «1» направление одно, а при записи «0» - 59 противоположное, что отражено на графике «ФК» рис.4.4. Из графика видно, что размер битовой ячейки или длина информационного бита T реализуется посредством 2MT (2 магнитных триггеров). Способ обладает свойством самосинхронизации. Способ частотной модуляции (ЧМ). Этот способ также называют двухчастотным способом записи, что соответствует изменению частоты получаемых импульсов в МГ при чтении, (рис. 4.4). В этом случае размер битовой ячейки или длина информационного бита T реализуется посредством 2MT (2-х магнитных триггеров), так же, как и в предыдущем случае. Способ обладает свойством самосинхронизации. Способ модифицированной фазовой модуляции (МФМ). Процесс записи и воспроизведения способом МФМ иллюстрируется примером на рис. 4.4. При записи «1» производится изменение направления тока в обмотке МГ в моменты, соответствующие началам тактовых интервалов. Для записи «0» необходимо сдвинуть фазу записи и производить переключение тока в обмотке записи в моменты, соответствующие серединам тактовых интервалов. Каждому изменению тока в МГ записи соответствует отпечаток на носителе, причём единицам соответствуют отпечатки в началах, а нулям - в середине тактовых интервалов. Направление изменения намагниченности при этом значения не имеет. При таком алгоритме отпечатки будут располагаться друг от друга на расстоянии, соответствующем длительности интервала записи T при записи непрерывных последовательностей одинаковых бит нулей или единиц; на расстоянии, соответствующем 1.5T при переходе от «1» к «0», на расстоянии, соответствующем 0.5 T при переходе от «0» к «1». Поскольку интервал 0.5T является “невыгодным”, то переключение в этом случае не производят, но при воспроизведении этот факт учитывают. При такой модификации алгоритма записи расстояние между отпечатками на носителе будут соответствовать трём интервалам: T, 1.5T, 2T, поэтому такой способ называют 3х - интервальным. Логические схемы тракта воспроизведения, как и в случаях способов ФМ и ЧМ, должны быть предварительно настроены посредством служебной последовательности на начало тактового интервала. Алгоритм воспроизведения имеет следующий вид: Фаза в начале тактового интервала: 1. T 1; 2. 1.5T 0 и схема перестраивается на середину тактового интервала; 3. 2T 10. Фаза в середине тактового интервала: 1. T 0; 2. 1.5 01 и схема перестраивается на начало тактового интервала. 60 RLL-кодирование. (RLL-Run Length Limited). В MFM-кодировании размер битовой ячейки уменьшается до минимальной длины, равной длине магнитного триггера (MT), но можно достичь лучшего результата при дальнейшем сокращении числа сигналов синхронизации. В RLL-кодировании совершенно нет сигналов синхронизации. Это стало возможно при записи на диск наборов, которые отличаются от наборов сохраняемых данных (рис. 4.5). Рассмотрим способ 2,7 RLL. Математики и инженеры считают этот способ разновидностью способа группового кодирования. Идея группового кодирования состоит в том, что группа битов данных заменяется большей группой записываемых битов, но нам удобных, что в конечном итоге даёт экономию. 1 1 1 0 1 0 0 0 1 0 1 0 Iw Ur(t) БВН-1 t Внешн ие СИ T=MT t T MT ФК ЧМ Iw t Ur(t) t Си t Iw t Ur(t) t Си t T Iw MT T=2MT T=2MT 0.5T 2T 1.5T t МФМ Ur(t) t Си t Рис. 4.4. Способы кодирования информации T=MT 61 =1 TOOO 2 бит Входной поток OTOO =1 =0 1 бит OOTOOO =1 TOOTOO 3 бит =0 =0 =1 2 бит OOOOTOOO =1 4 бит =1 =0 =0 OOTOOTOO 3 бит =0 OOOTOO Рис. 4.5. Схема преобразования двоичного потока данных в магнитные переходы T и промежутки между ними O в 2,7 RLL-кодировании RLL-кодирование использует два ограничения на набор переходов магнитных полей. Во-первых, переходы по минимуму ограничены минимальной длиной магнитного триггера, а по максимуму переходы не должны вызвать потерю контроллером текущую позицию на диске. Рассмотрим пример преобразования двоичного потока данных в магнитные переходы T и промежутки между ними O в 2,7 RLL-кодировании, который приведён на рис. 4.6. Ти Входной битовый поток 0 1 0 1 1 0 0 0 1 T O O T O O T O O Выходной код магнитных переходов T и промежутков между ними O O O O O T O O T O O Рис. 4.6. Пример преобразования двоичного потока данных в магнитные переходы T и промежутки между ними O в 2,7 RLL-кодировании Как определить выгоду 2.7 RLL по сравнению с MFM? 1. С одной стороны псевдокод по длине увеличился по сравнению с исходным в 2 раза. Минимальное расстояние между переключениями увеличилось в 3 раза (=3 ). 2. С другой стороны теперь минимальный магнитный триггер (MT) покрывает длину 3 , а при MFM - 1 . 62 В этой связи выгода RLL по отношению к MFM будет равна 3/2=1.5 раза; это означает, что на одной и той же длине магнитной поверхности размещается в 1.5 раза больше информации. Пусть входной битовый поток, соответствующий ASCII-коду литеры “X” имеет вид 01011000. После преобразования в соответствии со схемой на рис. 4.5 получим выходной код магнитных переходов T и промежутков между ними O в виде TOOTOO-TOOO-OOOTOO. На рис. 4.7 приведены сигналы, формируемые при записи ASCII-кода символа “X” = 01011000 при способах кодирования FM, MFM и RLL 2,7, на котором символ T показывает изменение ориентации магнитного поля, символ N показывает отсутствие изменения, символ * показывает границы битовых ячеек. На рис. 4.8, 4.9 для большей наглядности представлены схемы преобразования двоичного потока данных в магнитные переходы T и промежутки между ними O в FM и MFM - кодировании соответственно. FM (RLL 0,1), T=2MT * 0 * 1 * 0 * 1 * 1 * 0 * 0 * T N T T T N T T T T T N T N T * 1 * 0 * 0 * MFM (RLL 1,3), T=MT * 0 * 1 * 0 * 1 T N N T N N N T N T N N 0 0 T N T RLL (RLL 2,7), T=(2/3)MT * 0 * 1 * 0 * 1 * 1 * 0 * 0 * 0 T NN T N N T N N N N N N T NN Рис. 4.7. Сигналы, формируемые при записи ASCII-кода символа “X” (01011000), при способах кодирования FM, MFM и 2,7 RLL FM~RLL 0,1 TT Входной поток =1 1 бит =0 TO Рис. 4.8. Схема преобразования двоичного потока данных в магнитные переходы T и промежутки между ними O в FM-кодировании * 63 TO Входной поток =1 1 бит OOTO =1 =0 2 бит OTOOTO =1 =0 MFM~RLL 1,3 3 бит =0 OTOTOO Рис. 4.9. Схема преобразования двоичного потока данных в магнитные переходы T и промежутки между ними O в MFM-кодировании 4.4. Рост плотности записи за 45 лет Поверхностная плотность записи неуклонно увеличивается. При появлении первого устройства магнитного хранения данных IBM RAMAC в 1956 году рост поверхностной плотности записи достигал 25% в год, а с начала 1990 годов - 60%. Разработка и внедрение магниторезистивных (1991 год) и гигантских магниторезистивных головок (1997 год), а также накопителей, использующих антиферромагнитные двойные слои (2001 год), еще больше ускорили увеличение поверхностной плотности записи. За 47 лет, прошедших с момента появления первых устройств магнитного хранения данных, поверхностная плотность записи повысилась более чем в 17 млн. раз. В следующие пять лет (при сохранении существующих темпов роста) плотность записи достигнет 100 Гбит/дюйм2. Эта плотность записи соответствует точке суперпарамагнитного эффекта (магнитные домены настолько малы, что становятся нестабильными при комнатной температуре). Использование новых технологий, например, материалов с высокой коэрцитивностью и записи с вертикальной поляризацией, позволит увеличить плотность записи до 400 Гбит/дюйм2 и более. Одна из перспективных технологий недалекого будущего голографические устройства хранения информации, в которых данные записываются с помощью лазера в “трехмерном пространстве” (кристаллические пластина или куб). Дальнейшее повышение поверхностной плотности записи связано с созданием новых типов носителей (с использованием некристаллических стекловидных материалов) и конструкций головок, с применением метода псевдоконтактной записи, а также более совершенных методов обработки сигналов. Для достижения более высокого уровня поверхностной плотности 64 необходимо создать такие головки и диски, которые могли бы функционировать при минимальном зазоре между ними. Чтобы увеличить количество данных, размещаемых на жестком диске определенного размера, необходимо уменьшить расстояние между дорожками и повысить точность позиционирования головки чтения/записи по отношению к дорожкам носителя. Это означает также, что с увеличением емкости жесткого диска расстояние между головкой и поверхностью носителя во время операций чтения/записи должно уменьшаться. В некоторых накопителях зазор между головкой и поверхностью жесткого диска не превышает 10 нанометров (0,01 микрона), что примерно соответствует толщине клеточной мембраны. Для сравнения, толщина человеческого волоса в среднем равна 80 микрон, что в 8000 раз больше величины зазора между головкой чтения/записи и поверхностью носителя в некоторых накопителях. В перспективе дальнейшее повышение поверхностной плотности будущих накопителей возможно только при контактной (или почти контактной) записи данных. 4.4.1. Повышение плотности записи с помощью AFC В 1990 году специалисты компании IBM обнаружили, что металлический рутений является наиболее эффективным немагнитным материалом, который может использоваться в качестве промежуточного слоя в различных устройствах, например, в гигантских магниторезистивных головках (GMR). Тем не менее, прошло более 10 лет, прежде чем это открытие было использовано для повышения плотности размещения информации в дисковых накопителях, что позволило увеличить плотность записи жестких дисков. В мае 2001 года IBM начала выпуск серии портативных компьютеров с 2,5-дюймовыми жесткими дисками Travelstar, созданными по технологии AFC. В ноябре 2001 года были представлены накопители Deskstar GXP емкостью 80 и 120 Гбайт, созданные по той же технологии. Благодаря тончайшему (толщиной в три атома) слою рутения, который использовался для разделения магнитных слоев, находящихся с обеих сторон каждого жесткого диска, плотность записи данных повысилась до 25 Гбит/дюйм 2. Жесткие диски, используемые в обычных накопителях, имеют только один магнитный слой. Носители, в которых используется слой металлического рутения или, говоря техническом языком, носители с антиферромагнитными двойными слоями (AFC), получили шутливое название пыльца эльфов (“pixie dust”). В настоящее время IBM использует носители AFC в накопителях портативных, настольных и серверных компьютеров. Помимо этого, лицензию на выпуск носителей AFC приобрели другие компании, выпускающие накопители и жесткие диски. Разработка носителей AFC связана с тем, что дальнейшее повышение плотности информации в магнитных запоминающих устройствах возможно только при уменьшении размеров магнитных областей жесткого диска. Тем не менее чрезмерное уменьшение размеров этих областей может вызвать так называемый эффект суперпарамагнетизма, который заключается в постепенном размагничивании магнитных областей. 65 Тонкий слой рутения, расположенный между двумя магнитными слоями, позволяет направить магнитные частицы этих слоев в противоположные по отношению друг к другу стороны. Трехслойная конструкция отличается от традиционного магнитного слоя большей физической толщиной, но, несмотря на это, противоположная магнитная ориентация слоев дает возможность носителям функционировать как одинарный слой со значительно меньшей общей толщиной. В результате головки чтения/записи накопителей получают возможность записывать меньшие сигналы высокой плотности, тем самым увеличивая емкость запоминающих устройств данного размера без риска ухудшения сигнала. 4.4.2. Характеристики последних достижений записи информации Метод параллельной записи Максимально достижимая при использовании данного метода плотность записи оценивается 150 Гбит/дюйм2 (23Гбит/см2). Метод перпендикулярной записи Это технология, при которой биты информации сохраняются в вертикальных доменах, что позволяет использовать более сильные магнитные поля и снизить площадь материала, необходимую для записи одного бита. Плотность записи у современных образцов составляет 100-150 Гбит/дюйм2 (15-23 Гбит/см2), в дальнейшем планируется довести плотность до величины 400-500 Гбит/дюйм2 (60-75 Гбит/см2). Метод тепловой магнитной записи (Heat assisted magneticrecordingHAMR). На данный момент самый перспективный из существующих, сейчас он активно разрабатывается. При использовании этого метода применяется точечный подогрев диска, который позволяет головке намагничивать очень мелкие области его поверхности. После того, как диск охлаждается, намагниченность «закрепляется». На рынке ЖД данного типа ещё не представлены (на 2008 год), есть лишь экспериментальные образцы, но их плотность уже достигла 1Тбит/дюйм2 (150Гбит/см2). По самым оптимальным оценкам предполагают, что плотность записи смогут довести вплоть до 50 Тбит/дюйм2. Широкое распространение данной технологии следует ожидать в 2010-2013 годах. Контрольные вопросы 1. Какими основными внешними и внутренними характеристиками определяется ВЗУ? 2. Какие параметры влияют на размер МТ (магнитного триггера)? 3. Чем определяется величина физической и логической плотности записи на магнитном диске? 4. Что такое “магнитный отпечаток” и как методы кодирования влияют на плотность записи? 66 5. НАКОПИТЕЛИ НА ГИБКИХ МАГНИТНЫХ ДИСКАХ (НГМД) 5.1. Физическая конструкция гибкого диска Гибкий диск (рис. 5.1) имеет майларовую основу с нанесённым на неё магнитным покрытием. В центре находится шпиндельное отверстие, а на некотором смещении от центра имеется минимум одно индексное отверстие. Назначение индексного отверстия - обеспечить накопителю отсчетную точку при считывании или записи данных. Гибкий диск помещен в квадратный чехол, в котором также имеются шпиндельное и индексное отверстия. Кроме того, в чехле есть прорезь для контакта головки считывания/записи с поверхностью диска и вырез защиты от записи. Данные хранятся в последовательной форме на концентрических окружностях, называемых дорожками, и группируются по дугам, называемым секторами. В некоторых накопителях имеется одна головка считывания/записи и данные хранятся только на одной поверхности диска, а в других есть две головки и используются обе поверхности диска. Во втором случае пары дорожек, находящихся на одном и том же расстоянии от центра диска, называются цилиндрами. Шпиндельное отверстие в чехле Дорожка 0 Индексное отверстие в чехле Прорезь для головки считывания/записи Чехол Вырез для защиты от записи Дорожки Секторы Индексное отверстие Межсекторный промежуток Шпиндельное отверстие Диск Рис. 5.1. Конструкция гибкого диска Данные хранятся в последовательной форме на концентрических окружностях, называемых дорожками, и группируются по дугам, называемым секторами. В некоторых накопителях имеется одна головка считывания/записи и данные хранятся только на одной поверхности диска, а в других есть две головки и используются обе поверхности диска. Во втором случае пары дорожек, находящихся на одном и том же расстоянии от центра диска, называются цилиндрами. 67 Стандартные гибкие диски имеют размер стороны чехла 203 и 133 мм (минидиски). Различают диски с программным разделением на секторы, когда диск имеет одно индексное отверстие, и с аппаратным, когда число отверстий равно числу секторов. Каждый сектор должен начинаться со служебной информации, которая отмечает начало сектора, и только первый сектор на дорожке отмечается индексным отверстием. Во втором случае все секторы отмечаются индексными отверстиями. Дорожки (и цилиндры) пронумерованы, причем внешняя дорожка имеет номер 0. Секторы также нумеруются, и в диске с программным разделением на секторы первый сектор после индексного отверстия имеет номер 1. Когда диск помещается в накопитель, шпиндель проходит через отверстие, диск сцепляется со шпинделем и вращается в чехле со скоростью 360 об/мин. Для выполнения записи или считывания головка опускается (загружается) на поверхность диска через прорезь в чехле и позиционируется на нужную дорожку. В диске с программным разделением на секторы накопитель ожидает появления сигнала от индексного отверстия, а затем начинает считывать служебную информацию о формате сектора. После нахождения нужного сектора начинается собственно операция считывания или записи. В случае диска с аппаратным разделением на секторы требуемый сектор находится с помощью сигналов от индексных отверстий. Необходимое для доступа к сектору время складывается из следующих составляющих: 1. Время загрузки. Для приведения головки в контакт с поверхностью диска. 2. Время позиционирования. Для позиционирования головки на дорожку. 3. Вращательное запаздывание. Для поворота диска до достижения требуемого сектора. Средние значения этих времен равны 16, 225 и 80 мс соответственно. Когда сектор найден, средняя скорость передачи данных составляет (байт/с): число байт в секторе число секторов на дорожке скорость в об/с (здесь учитывается время прохождения промежутков между данными). 68 5.2. Форматы дорожки и сектора Обнаружено индексное отверстие Маркер адреса индекса CRC Данные CRC Маркер адреса данных или удаленных данных SYNC ... SPACE Второй сектор SYNC SPACE SYNC SPACE ... SPACE Номер цилиндра Номер головки Конец Номер сектора последнего Число байт данных сектора Первый сектор ... Маркер адреса индекса Рис. 5.2. Формат дорожки и сектора гибкого диска с программным разделением на секторы Формат дорожки и сектора гибкого диска с программным разделением на секторы показаны на рис. 5.2, на котором введены следующие обозначения: SPASE – промежуток, SYNC – поле синхронизации, CRC - циклический избыточный контроль. Между смежными секторами находятся промежутки, и сигнал от индексного отверстия должен появляться в промежутке между последним и первым сектором дорожки. Каждый сектор содержит поле идентификации и поле данных, оба из которых начинаются с поля синхронизации. Между двумя полями имеется промежуток, необходимый для коммутации головки на выполнение заданной операции. Поле идентификации начинается с маркера адреса, после которого следуют номер цилиндра (или дорожки), номер головки, номер сектора, число байт данных в секторе и два байта контроля ошибок. 5.3. Функциональная схема НГМД Функциональная схема НГМД представлена на рис. 5.3. Она отражает наличие основных датчиков устройства, показывает входные и выходные линии интерфейса. Выходные интерфейсные линии Входные интерфейсные линии 69 Индекс Питание Дорожка”00” Выбор 3 Выбор 2 Выбор 1 Выбор 0 Старт Вперед Шаг Сторона 0/1 Запись Данные записи Защита записи Данные воспроизведения ТТ Плата регулятор Плата “ЛОГИКА” ЭД Датчик положения головок Двигатель головок Датчик начала дорожки Двигатель магнитных дисков Датчик “00” дорожки Шаговый двигатель Защита записи Датчик “индекссектор” Рис. 5.3. Функциональная схема НГМД 5.4. Организация типичного контроллера НГМД Рис. 5.4 иллюстрирует организацию типичного контроллера накопителя на гибком диске, а рис. 5.5 показывает его место в подсистеме внешней памяти на гибком диске. 70 Данные Считывание Выбор накоп. Регистры управления, состояния и параметров Готов. накоп Запись Дорожка 0 Сброс Регистр сдвига входных данных Готовность Запрос прерывания Индекс Шаг Напр. шага Загр.головки Обнар. отказа Защита от записи Vco Окно даных Буфер входных/ выходных данных Вход.данные Дешифратор адреса Выбор кристалла Разр.записи Малый ток Регистр сдвига выходных данных Запрос ПДП Подтвержд. ПДП Выход.данные Синхр. записи Последний счет Рис. 5.4. Организация контроллера накопителя на гибком диске Из-за последовательного хранения информации входы и выходы накопителя представляют собой двоичные потоки. Поэтому входные байты принимаются в регистр сдвига и затем передаются в буферный регистр данных, а выходные данные загружаются в регистр сдвига, из которого они выдвигаются в последовательной форме. Выходные схемы должны объединять импульсы со входа синхронизации записи и биты данных. 5.5. Контроллер прямого доступа к памяти (КПДП) 8237 фирмы Intel КПДП входит в состав подсистемы гибкого диска (рис. 5.5). Являясь активным устройством, он может стать ведущим шины и управлять передачей данных между интерфейсом ввода-вывода и памятью или интерфейсом внешней памяти и памятью. В процессе передачи он должен помещать адреса на шину, а также выдавать и принимать сигналы квитирования так, как это делает логика управления шиной. Назначение контроллера ПДП - осуществлять последовательность передач (т.е. передачу блока) посредством пропусков ("кражи") циклов шины. 71 Контроллер гибкого диска Управление Синхронизация Фазовая Vco Окно данных подстройка частоты Входные данные Выходные данные Накопитель на гибком диске Синхронизация записи Последний счет Подтверждение ПДП Запрос ПДП Контроллер ПДП Рис. 5.5. Подсистема гибкого диска Обычно контроллер ПДП рассчитан на обслуживание одного или нескольких интерфейсов ввода-вывода или внешней памяти и каждый интерфейс подключается к контроллеру набором проводников. Часть контроллера ПДП, предназначенная для обслуживания одного интерфейса, называется каналом. Общая организация одноканального контроллера ПДП и его основные связи показаны на рис. 5.6. Кроме обычных регистров управления и состояния, в каждом канале должны быть регистр адреса и счетчик байт (или слов). Инициализация контроллера состоит в загрузке в эти регистры начального (конечного) адреса массива в памяти, который служит буфером, и числа передаваемых байт (слов). При вводе в память при наличии данных интерфейс делает запрос ПДП. Затем контроллер формирует запрос шины и при получении разрешения шины выводит содержимое регистра адреса на шину адреса, посылает подтверждение в интерфейс и выдает сигналы считывания ввода-вывода и записи в память. После этого интерфейс помещает данные на шину данных и снимает свой запрос. Когда память воспринимает данные, она возвращает в контроллер сигнал готовности; контроллер осуществляет инкремент (декремент) регистра адреса, декремент счетчика байт (слов) и снимает запрос шины. При достижении счетчиком нуля процесс прекращается и выдается сигнал в процессор как запрос прерывания или в интерфейс для извещения о том, что передачи завершены. 72 Шина данных Запрос шины Разрешение шины Шина управления Регистр адреса Регистр-счетчик байт Шина адреса Запрос ПДП (от интерфейса) Регистры управления и состояния Дешифратор адреса Подтверждение ПДП (в интерфейс устройства) Последний счет на линию запроса (в интерфейс или прерывания) Рис. 5.6. Общая организация контроллера ПДП Вывод реализуется аналогично, но контроллер выдает сигналы записи ввода-вывода и считывания из памяти, а данные передаются в другом направлении. 5.6. Контроллер НГМД 8272А фирмы Intel Так как большинство контроллеров рассчитано на управление несколькими накопителями, некоторые контакты контроллера необходимо зарезервировать для линий выбора накопителя. Кроме того, должны быть такие выходы в накопитель, как линия импульса шага для прохождения по дорожкам, линия сигнала направления шага и линия сигнала загрузки головки. Необходимы также входные сигналы, показывающие нахождение головки на дорожке 0, извещающие о возникновении отказа или ошибки, фиксирующие индексное отверстие; нужен сигнал и о том, что гибкий диск защищен от записи. При считывании с диска данные необходимо отделить от импульсов синхронизации. Обычно это осуществляется схемой фазовой подстройки частоты, которая формирует сигнал окна. В эту схему контроллер должен выдавать сигнал синхронизации VCO. ДЛЯ записи данных кроме линии выходных данных требуются линии разрешения записи и малого тока. Линия малого тока требуется в связи с тем, что при записи на внутренние дорожки (их номера больше 43) применяется меньший ток. Если гибкий диск имеет 26 секторов, каждый сектор содержит 128 байт и скорость вращения составляет 360 об/мин, средняя скорость передачи данных 26 128 360/60 = 19968 байт/с. Средний период оказывается равным примерно 50 мкс. С учетом промежутков реальный период передачи байта составляет 32 мкс (или 4 мкс на 73 бит). Хотя и можно осуществлять передачи с такой скоростью без контроллера ПДП, применение контроллера оказывается более эффективным. Поэтому контроллеры дисков обычно имеют сигналы запроса ПДП, подтверждения ПДП и окончания счета. Контроллер ПДП оказывается лучшим решением еще и потому, что передачи с диска всегда связаны с передачами блоков, а не отдельных байт. Рассмотрим подробнее типичный контроллер диска 8272 фирмы Intel, организация которого показана на рис. 5.7. В нём имеются два регистра, которые может адресовать процессор: регистр состояния, который считывается при АО = 0, и регистр входных/ выходных данных, обращение к которому производится с АО = 1. Формат регистра состояния представлен на рис. 5.8. Через регистр входных/выходных данных можно адресовать несколько других регистров управления, состояния и параметров, а также несколько флажков. Обращение к этим регистрам и флажкам или выполнение вводавывода данных определяется последовательностью доступа. Выполняемые контроллером операции разделяются на фазы приказа, выполнения и результата. Во время фазы приказа байты передаются в регистры управления и флажки через регистр входных/выходных данных. Затем на фазе выполнения реализуется запрошенная операция, по завершении которой наступает фаза результата, когда процессор считывает информацию состояния. Выводы во время фазы приказа и вводы во время фазы результата выполняются однобайтными передачами, хотя любыми передачами данных во время фазы выполнения обычно управляет контроллер ПДП. Контроллер гибкого диска имеет следующие приказы: Считать данные. Считывает данные из поля данных на гибком диске. Записать данные. Записывает данные в поле данных на гибком диске. Считать удаленные данные. Считывает данные из поля, отмеченного как удаленное. Записать удаленные данные. Записывает маркер адреса удаленных данных и помещает символы-заполнители в поле данных. Считать дорожку. Считывает поля данных всей дорожки. Считать ID. Считывает поле идентификации. Форматировать дорожку. Записывает на дорожку форматирующую информацию, используя выданные программой параметры форматирования. Сканировать до равно, сканировать до меньше или равно, сканировать до больше или равно. Сканирует данные на указанное условие и формирует запрос прерывания, когда условие удовлетворяется. Инициализировать. Вызывает перемещение головки на дорожку 0. Определить. Устанавливает скорость шагов головки, время разгрузки (подъема) головки, время загрузки головки и режим ПДП. 74 Считать состояние прерывания. Считывает информацию состояния из ST0 после прерываний, вызванных изменением линии готовности и операцией поиска. Считать состояние накопителя. Вводит состояние накопителя из ST3. Искать. Позиционирует головку на указанную дорожку. Контроллер гибкого диска 8272 Данные GND CLK DB7-DB0 Vcc DS1-DS0 Регистр состояния RDY RESET IRn RESET INT IOR IOW FLT/TRK0 IDX RD RW /SEEK WR Состояние Регистры и флажки управления и состояния ST0 ST1 ST2 ST3 Регистр сдвига входных данных Дешифратор адреса CS FR/STP LOC/DIR HDSEL HDL PS1-PS0 WP/TS MFM VCO DW RD DATA WE WR DATA WR CLK +5В Выбор накопителя Готовность накопителя Отказ/дорожка 0 Индекс Сброс отказа/шаг Малый ток/направление Выбор головки Загрузка головки Состояние предсдвига Защита от записи/ двусторонний Режим МЧМ Синхронизация Vco Окно данных Входные данные Разрешение записи Выходные даные Синхронизация записи Регистр входных/ выходных данных A0 Регистр сдвига выходных данных A0 DRQ Запрос ПДП DACK Подтверждение ПДП TC Последний счет Рис. 5.7. Схема контроллера гибкого диска 8272 75 Направление данных: 0 - из процесса, 1 - в процессор RQM DIO Готовность регистра входных/ выходных данных: 0 - не готов, 1 - готов Выполнение считывания/записи: 0 - нет, 1 - да NDM CB Для режима не ПДП: 0 - выполнение закончено, 1 - выполнение D3B D2B D1B Накопитель 0 Накопитель 2 Накопитель 3 D0B Накопитель 1 Поиск: 0 - нет; 1 - да Рис. 5.8. Формат регистра состояния контроллера 8272 В качестве примера на рис. 5.9. приведена последовательность, необходимая для выполнения четырех приказов. Считать данные MT MFMSK 0 0 0 0 0 HDSDS1DS0 0 0 1 1 0 C H R N Приказ Приказ Выполнение Передача данных Выполнение ST0 ST1 ST2 C H R Результат N Считать состояние накопителя Результат 0 0 0 0 0 0 0 0 0 1 0 0 0 HDSDS1DS0 ST3 0 0 0 SRT Искать 0 0 0 0 0 0 1 1 HUT HLT EOT GPL DTL Приказ 0 Приказ ND 0 0 0 1 1 1 1 0 0 HDSDS1DS0 NSN Выполняется поиск MT - многодорожечный (двусторонний) MFM - двойная плотность SK - пропуск удаленных данных HDS - номер головки (в двусторонних накоп-х) DS1, DS0 - номер выбираемого накопителя C - номер цилиндра H - номер головки (в двусторонних накоп-х) R - номер сектора N - число байт в секторе EOT - номер последнего сектора на дорожке GPL - длина промежутка DTL - число считываемых/записываемых байт ST0-ST3 - байты состояния SRT - время шага в миллисекундах HUT - время разгрузки головки в единицах 16 мс HLT - время загрузки головки в единицах 2 мс ND - режим не ПДП NCN - номер цилиндра после поиска Рис. 5.9. Типичные приказы контроллера 8272 Приказ считывания данных включает в себя все три фазы, приказ поиска только фазы приказа и выполнения, приказ считывания состояния накопителя фазы приказа и результата, а приказ определения - только фазу приказа. Во всех 76 случаях приказы должны выполняться целиком (включая и фазу результата, если она применима) иначе они считаются незаконченными. При получении недействительного приказа контроллер возвращает байт состояния ST0 в ответ на следующий ввод из регистра входных/выходных данных. Несколько приказов требуют, чтобы на их фазах результатов считывались некоторые из байт состояния STO, ST1, ST2 и ST3. Биты в этих регистрах показывают ошибки CRC, ошибки перегрузки, выбранный накопитель, конец поиска, является ли гибкий диск двусторонним или нет и т.д. Контрольные вопросы 1. Из каких составляющих складывается время доступа к сектору магнитного диска? 2. Какая система координат используется в накопителях на магнитных дисках и посредством каких датчиков она реализуется? 3. Какой вид обмена используется в накопителях на магнитных дисках и чему равен размер квантов передаваемой информации? 4. Какие “приказы” поддерживает контроллер НГМД? 6. НАКОПИТЕЛИ НА ЖЁСТКИХ МАГНИТНЫХ ДИСКАХ (НЖД) 6.1. Как устроен винчестер В 1973 году на фирме IBM по новой технологии был разработан первый жесткий диск, который мог хранить до 16 KB информации. Поскольку он имел 30 цилиндров (дорожек), каждая из которых была разбита на 30 секторов, то первоначально ему присвоили название 30/30. По аналогии с автоматическими винтовками, имеющими калибр 30/30, такие жесткие диски получили название «винчестеры». Накопители на жестких дисках объединяют в одном корпусе носитель (носители), устройство чтения/записи и контроллер жесткого диска. Информация заносится на концентрические дорожки, равномерно распределенные по всему носителю. В случае большего, чем один диск, числа носителей все дорожки, находящиеся одна под другой, называются цилиндром. Операции чтения/записи производятся подряд над всеми дорожками цилиндра, после чего головки перемещаются на новую позицию. Камера предохраняет носители от проникновения механических частиц пыли и от воздействия электромагнитных полей. Необходимо заметить, что камера не является абсолютно герметичной, т.к. соединяется с окружающей атмосферой при помощи специального фильтра, который уравнивает давление внутри и снаружи камеры, а также очищает воздух внутри камеры от пыли, поскольку малейшие частички могут привести к порче магнитного покрытия дисков и потере данных и работоспособности устройства. Диски вращаются постоянно, а скорость вращения носителей довольно высокая (от 4500 до 10000 об/мин), что обеспечивает высокую скорость чтения/записи. По величине диаметра носителя чаще других производятся 5.25, 3.14, 2.3 дюймовые диски. На диаметр носителей несменных жестких дисков не 77 накладывается никакого ограничения со стороны совместимости и переносимости носителя, за исключением форм-факторов корпуса, поэтому производители выбирают его согласно собственным соображениям. В настоящее время для позиционирования головок чтения/записи наиболее часто применяются шаговые и линейные двигатели. В системах с шаговым механизмом и двигателем (которые являются разомкнутыми) головки перемещаются на определенную величину, соответствующую расстоянию между дорожками. Дискретность шагов зависит либо от характеристик шагового двигателя, либо задается сервометками на диске, которые могут иметь магнитную или оптическую природу. Для считывания магнитных меток используется дополнительная сервоголовка, а для считывания оптических - специальные оптические датчики. В системах с линейным приводом (которые являются замкнутыми) головки перемещаются электромагнитом, а для определения необходимого положения служат специальные сервисные сигналы, записанные на носитель при его производстве и считываемые при позиционировании головок. Во многих устройствах для серво-сигналов используется целая поверхность и специальная головка или оптический датчик (рис. 6.1). Линейные приводы перемещают головки значительно быстрее, чем шаговые, кроме того, они позволяют производить небольшие радиальные перемещения "внутри" дорожки, давая возможность отследить центр окружности серводорожки. Этим достигается положение головки, наилучшее для считывания с каждой дорожки, что значительно повышает достоверность считываемых данных и исключает необходимость временных затрат на процедуры коррекции. Как правило, все устройства с линейным приводом имеют автоматический механизм парковки головок чтения/записи при отключении питания устройства. Парковкой головок называют процесс их перемещения в безопасное положение (Landing Zone). 78 Цилиндр Сервоголовка Головка 4 Головка 3 Диски Привод головок Дорожки Головка 2 Головка 1 Головка 0 Рис. 6.1. Структура жесткого диска 6.2. Путь данных между НЖД и ОЗУ “Движение” блоков данных между накопителем и буфером контроллера жёсткого диска обеспечивает какой-либо интерфейс, например, ATA, а между буфером контроллера жёсткого диска и буферами ОС - либо КПДП, либо ЦП, либо ПВВ (рис. 6.2, 6.3). Рис. 6.2. Взаимодействие жесткого диска с ОС 79 Контроллер ЖД ПДП Буферы DOS Буфер НЖД ЦПУ Память, используемая прикладной программой Рис. 6.3. “Движение” блоков данных между НЖД и ОЗУ 6.3. Основные физические и логические параметры ЖД Все накопители соответствуют стандартам, определяемым либо независимыми комитетами и группами стандартизации, либо самими производителями. Среди множества технических характеристик, отличающих одну модель от другой, можно выделить некоторые, наиболее важные с точки зрения пользователей и производителей, которые так или иначе используются при сравнении накопителей различных производителей и выборе устройства: 1. Диаметр дисков (disk diameter)- параметр довольно свободный от какихлибо стандартов, ограничиваемый лишь форм-факторами корпусов системных блоков. Наиболее распространены накопители с диаметром дисков 2.2, 2.3, 3.14 и 5.25 дюймов. 2. Число поверхностей (sides number) - определяет количество физических дисков, нанизанных на шпиндель. Выпускаются накопители с числом поверхностей от 1 до 8 и более. Однако наиболее распространены устройства с числом поверхностей от 2 до 5. 3. Число цилиндров (cylinders number) - определяет, сколько дорожек (треков) будет располагаться на одной поверхности. В настоящее время все накопители емкостью более 1Гб имеют число цилиндров более 1024, вследствие чего для распространенных ОС применяются унифицированные режимы доступа с пересчетом, эмуляцией и виртуализацией числа головок, цилиндров и секторов (LBA и Large). 4. Число секторов (sectors count) - общее число секторов на всех дорожках всех поверхностей накопителя. Определяет физический неформатированный объем устройства. 5. Число секторов на дорожке (sectors per track) - общее число секторов на одной дорожке. 6. Частота вращения шпинделя (rotational speed или spindle speed). 80 Частота вращения измеряется в оборотах в минуту (грт). Для дисков емкостью до 1Гб она обычно равна 5,400 оборотов в минуту, а у более вместительных достигает 7.200 и 10000 грт. 7. Время перехода от одной дорожки к другой (track-to-track seek time) обычно составляет от 3.5 до 5мс, а у самых быстрых моделей может быть от 0.6 до 1мс. Этот показатель является одним из определяющих быстродействие накопителя, т.к. именно переход с дорожки на дорожку является самым длительным процессом в серии процессов произвольного чтения/записи на дисковом устройстве. Показатель используется для условной оценки производительности при сравнении накопителей разных моделей и производителей. 8. Время успокоения головок (head latency time) - время, проходящее с момента окончания позиционирования головок на требуемую дорожку до момента начала операции чтения/записи. Является внутренним техническим показателем, входящим в показатель - время перехода с дорожки на дорожку. 9. Время установки или время поиска (seek time)- время, затрачиваемое устройством на перемещение головок чтения/записи к нужному цилиндру из произвольного положения. 10. Среднее время установки или поиска (average seek time) - усредненный результат большого числа операций позиционирования на разные цилиндры, часто называют средним временем позиционирования. Указанное время поиска имеет тенденцию уменьшаться с увеличением емкости накопителя, т.к. повышается плотность записи и увеличивается число поверхностей. Например, для 540Мб дисков наиболее типичны величины от 10 до 13, а для дисков свыше 1Гб - от 7 до 10мс. Среднее время поиска является одним из важнейших показателей оценки производительности накопителей, используемых при их сравнении. 11. Время ожидания (latency) - время, необходимое для прохода нужного сектора к головке, усредненный показатель - среднее время ожидания (average latency), получаемое как среднее от многочисленных тестовых проходов. После успокоения головок на требуемом цилиндре контроллер ищет нужный сектор. При этом последовательно считываются адресные идентификаторы каждого проходящего под головкой сектора на дорожке. В идеальном случае (с точки зрения производительности) под головкой сразу окажется нужный сектор, в плохом - окажется, что этот сектор только что "прошел" под головкой, и, до окончания процесса успокоения необходимо будет ждать полный оборот диска для завершения операции чтения/записи. Это время у накопителей объемом от 540 мегабайт до 1 гигабайта составляет примерно 5.6, а у дисков свыше гигабайта - 4.2 миллисекунды и менее. 12. Время доступа (access time) - суммарное время, затрачиваемое на установку головок и ожидание сектора. Причем наиболее долгим является 81 промежуток времени установки головок. 13. Среднее время доступа к данным (average access time) - время, проходящее с момента получения запроса на операцию чтения/записи от контроллера до физического осуществления операции - результат сложения среднего время поиска и среднего времени ожидания. Среднее время доступа зависит от того, как организовано хранение данных и насколько быстро позиционируются головки чтения записи на требуемую дорожку. Среднее время доступа - усредненный показатель от многочисленных тестовых проходов и обычно оно составляет от 10 до 18 миллисекунд и используется как базовый показатель при сравнительной оценке скорости накопителей различных производителей. 14. Скорость передачи данных (data transfer rate), называемая также пропускной способностью (throughput), определяет скорость, с которой данные считываются или записываются на диск после того, как головки займут необходимое положение. Измеряется в мегабайтах в секунду (MBps) или мегабитах в секунду (Mbps) и является характеристикой контроллера и интерфейса. Различают две разновидности скорости передачи - внешняя и внутренняя: а) внешняя скорость передачи данных (external data transfer rate или burst data transfer rate) показывает, с какой скоростью данные считываются из буфера, расположенного на накопителе в оперативную память компьютера. В настоящее время накопители с интерфейсами EIDE или Fast ATA обычно имеют внешнюю скорость передачи данных от 11.1 до 16.6 мегабайта в секунду, а для накопителей с интерфейсами SCSI-2 этот параметр находится в пределах от 10 до 40 мегабайт в секунду; б) внутренняя скорость передачи данных (internal transfer rate или sustained transfer rate) отражает скорость передачи данных между головками и контроллером накопителя и определяет общую скорость передачи данных в тех случаях, когда буфер не используется или не влияет на передачу (например, когда загружается большой графический или видеофайл). Внутренняя скорость передачи данных очень сильно зависит от частоты вращения шпинделя. 15. Размер кэш-буфера контроллера (internal cash size). Встроенный в накопитель буфер выполняет функцию упреждающего кэширования и призван сгладить громадную разницу в быстродействии между дисковой и оперативной памятью компьютера. Выпускаются накопители с 128, 256 и 512 килобайтным буфером. Чем больше объем буфера, тем потенциально выше производительность при произвольном "длинном" чтении/записи. Также более емкий буфер обеспечивает рост производительности дисковой подсистемы, во-первых, при работе с объемными упорядоченными (записанными на диски последовательно) данными, а, вовторых, при одновременном обращении к диску множества приложений или 82 пользователей как это происходит в многозадачных сетевых ОС. 16. Средняя потребляемая мощность (capacity). 17. Физический и логический объем накопителей. Носители жестких дисков в отличие от гибких имеют постоянное число дорожек и секторов, изменить которое невозможно. Эти числа определяются типом модели и производителем устройства. Физический объем жестких дисков определен изначально и состоит из объема, занятого служебной информацией (разметка диска на дорожки и сектора) и объема, доступного пользовательским данным. Физический объем жесткого диска также зависит от типа интерфейса, метода кодирования данных, используемого физического формата и др. Производители накопителей указывают объемы дисков в миллионах байт, предполагая, исходя из десятичной системы исчисления, что в одном мегабайте 1000000 байт. Однако ПО оперирует не десятичной, а двоичной системами, полагая, что в одном килобайте не 1000 байт, а 1024. Такие разногласия в системах исчисления приводят к несоответствиям при оценке объема накопителей, данной в описании и выдаваемой различными программными тестами. Одним из возможных, но нежелательных способов повышения физической емкости для производителей является увеличение емкости сектора. В настоящее время, стандартной емкостью сектора для IBMсовместимых компьютеров является 512 байт. Многие адаптеры позволяют в процессе физического форматирования программным путем изменять емкость сектора, например, до 1024 байт, при этом соотношение пользовательских данных и служебной информации для сектора улучшается, но снижается надежность хранения данных, т.к. тот же полином ЕСС будет использоваться для коррекции большего объема данных. Выигрыш на физическом уровне еще не означает выигрыш на логическом, поскольку логическая структура диска может оказаться не эффективной, например, при работе с файлами малой длинны (менее 1 Кб). Логический же объем зависит от того, как операционная система или программа записывает информацию в секторы. В случае использования программ и операционных систем с программной компрессией данных можно повысить объем носителя на величину, зависящую от степени сжатия данных. Для оптимального использования поверхности дисков применяется так называемая зонная запись (Zoned Bit Recording - ZBR), принцип которой состоит в том, что на внешних дорожках, имеющих большую длину (а следовательно, и потенциальную информационную емкость на единицу площади) информация записывается с большей плотностью, чем на внутренних. Таких зон с постоянной плотностью записи в пределах всей поверхности образуется до десятка и более; соответственно скорость чтения и записи на внешних зонах выше, чем на внутренних. Благодаря этому, файлы, расположенные на дорожках с большим диаметром, в целом будут 83 обрабатываться быстрее файлов, расположенных на дорожках с меньшим диаметром, т.к. для них будет производиться меньшее число позиционирований с дорожки на дорожку. Секторы нумеруются в некотором простом порядке. Например, секторы можно пронумеровать 1, 2, 3, 4, 5 и т.д., но такой порядок необязателен. Другой способ нумерации секторов называется чередованием секторов. Такое название объясняется тем, что группы секторов с соседними номерами чередуются с другими группами секторов, имеющими другие соседние номера. Можно считать также, что после нумерации одного сектора вместо назначения следующего номера следующему сектору вы пропускаете ("перепрыгиваете") через одно и то же число секторов, а затем назначаете следующий номер. 6.4. Физические ограничения BIOS на ёмкость диска Если программа хочет считать или записать информацию на диске, то она формирует запрос (запрос файла), причём единицей информации на этом высшем уровне является файл (рис. 6.4). Запрос Запрос Программа Файл Файловая система ОС Int 13h-8 параметры Логические секторы или LBA Драйвер Логический адрес Int 13h-5,6 Запрос L-CHS или LBA Логический адрес BIOS L-CHS или LBA Логический адрес P-CHS КНЖД НЖД Физический адрес Рис. 6.4. Взаимоотношения между BIOS и схемой физической адресации секторов (здесь выражение L-CHS обозначает логический CHS, а выражение P-CHS - физический CHS) OC в несколько обращений преобразует запрос файла в логические секторы или LBA, а КНЖД - в конкретные кластеры или секторы: 1. Сначала драйвер устройства преобразует логические адреса (LBA) в логические адреса (L-CHS). Для этого он привлекает параметры накопителя, которые «узнаёт» во время своей загрузки из вызова Int 13h-8; 2. Затем запрос передачи данных поступает в BIOS, которая, в свою очередь, посылает запрос в схемы контроллера диска «приказ». Вызов прерывания, который OС использует для передачи информации BIOS (Int 13h), имеет несколько жёстких ограничений на величину чисел, допустимых для компонентов адреса. Например, для BIOS, дата создания которой август 1994, установлены следующие значения параметров. 84 Элемент Разрядность Диапазон номеров C 10 0-1023 H 4 0-15 S 6 1-63 Всё` сверх этого может существовать, но невозможно через BIOS передать такую информацию контроллеру диска. Если перемножить приведённые числа: 1024*16*63*512=528MB, т.е. максимальная ёмкость физического накопителя, адресуемого посредством такой BIOS, составляет 528482304 байта или 504MB. Те места в BIOS, которые хранят максимальный номер головки, допускают числа до 255. Если допустить, что число головок может быть 256, то максимальная ёмкость диска составит не 504MB, а 8.4GB. Если BIOS, созданная до 1998 года имеет ограничение в 8,4 Гбайт, то BIOS, датированную 2002 годом имеет соответствующее ограничение емкости в 137 Гбайт. 6.5. Ограничения операционной системы на ёмкость диска Операционная система «видит» диск как набор логических секторов. В этой связи разрядность логического адреса вносит свои ограничения на количество адресуемых секторов. Например, для DOS версии до 4.0 n=16. Тогда ОС могла адресовать пространство размером 32MB при величине сектора 512B. Для DOS после версии 4.0 n=32. Тогда ОС могла адресовать пространство размером 2TB и т.д. Проблемы, связанные с ограничением емкости жестких дисков, не имеют никакого отношения к накопителям SCSI, поскольку даже самые первые версии стандарта SCSI позволяют обрабатывать диски емкостью до 2,2 Тбайт. Ограничения, налагаемые системной BIOS, никакого значения не имеют, поскольку поддержка жестких дисков SCSI обеспечивается не системной BIOS, а базовой системой ввода-вывода, встроенной в хост-адаптер SCSI. Жесткие диски SCSI с самого начала отличались более высокими характеристиками, чем накопители ATA. Благодаря этому диски SCSI чаще всего используются в высокопроизводительных файловых серверах, рабочих станциях и других компьютерных системах. Несмотря на то, что накопители SCSI создавались еще до появления жестких дисков ATA, их разработчики предусмотрительно позаботились о возможности жестких дисков SCSI адресовать до 2,2 Тбайт (терабайт или триллион байт), что составило 232 секторов. В 2001 году набор команд SCSI был расширен, что позволяет поддерживать накопители емкостью 9,44 Збайт, что составило уже 264 секторов. Высокая производительность и отсутствие критических ограничений на максимальный объем данных, содержащийся на жестких дисках SCSI, стали причиной того, что изготовители всегда выпускают накопители, имеющие 85 наибольшую емкость, вначале в SCSI-версиях. Когда пользователям приходится приобретать жесткий диск, имеющий максимальную емкость, практически всегда можно сказать, что это будет накопитель SCSI. 6.6.Отображение секторов В контроллере жёсткого диска может осуществляться операция «отображения секторов», которая заключается в трансляции логического адреса (LBA или L-CHS) в физический адрес (P-CHS). Отображение секторов в контроллерах ЖД возникло до появления необходимости преодоления физических ограничений BIOS. Первые НЖД имели 17 секторов/дорожку (MFM). С появлением RLLнакопителей, имеющих 26 секторов/дорожку, программы с ними не работали. Выход из положения состоял во введении в контроллер отображения секторов, в результате НЖД в части адресации для DOS и BIOS выглядел как стандартный диск. Недостаток состоял в том, что DOS и BIOS и другие программы не знают параметров реального накопителя. Для большинства программ этого и не нужно, но для программ изменяющих чередование секторов необходимо знать точные параметры. Иногда отображение секторов (Sector Mapping) вводят по другим причинам. 6.6.1. Отображение секторов для логического устранения физических дефектов В современных накопителях SCSI - IDE/ATA увеличивается надёжность. В таких накопителях имеются запасные дорожки и могут быть запасные секторы на каждой дорожке. В каждом секторе имеется дополнительный указатель. Если данный сектор хороший, указатель не используется, если имеет дефект, то указатель показывает, где найти заменяющий сектор. Иногда «ремонт» секторов (замена плохих на хорошие) осуществляется в процессе производства при первом тестировании (IDE/ATA). В SCSI может производиться «горячий ремонт», когда контроллер обнаруживает плохой сектор. 6.6.2. Отображение секторов для увеличения ёмкости диска за счёт зонного кодирования В накопителях с зонной организацией применяется преобразование секторов. Так как в этом случае количество секторов на дорожке не постоянно, то это требует, чтобы контроллер «обманывал» DOS, потому что всё в DOS рассчитано на постоянное количество секторов на дорожке. 6.7. Повышение производительности ЖД с помощью чередования секторов, перекоса головок и перекоса цилиндров Накопитель можно представить как счётчик с переменным модулем счёта (рис. 6.5). При переходе от разряда к разряду необходимо компенсировать запаздывание, возникающее при переключении головок записи-чтения при 86 переходе от одной поверхности к другой, при переходе от одной дорожки к другой и т. д. Перекос цилиндров Чередование секторов Перекос головок 4 17 512 BYTE C H S BYTES Рис. 6.5. Представление накопителя в виде счётчика Величина чередования определяется коэффициентом чередования, представленным в виде двух чисел, разделенных двоеточием. Если, например, коэффициент равен 3:1, то после назначения первому сектору на дорожке адреса 1 два следующих сектора пропускаются, а четвертому сектору на дорожке назначается адрес 2. После этого вновь пропускаются два сектора, а седьмому сектору назначается адрес 3. Этот процесс продолжается до назначения адресов всем секторам (пока такой способ нумерации кажется надуманным и искусственным, но далее показано, что он имеет большое практическое значение). Пример разных коэффициентов чередования приведён на рис. 6.6. С одной стороны чередование хорошо. Не уменьшая скорости вращения диска, мы можем считывать/записывать данные. С другой стороны - плохо. Искусственно замедляем скорость считывания с диска. Лучше оставить чередование 1:1, но для этого в накопители встраивается буфер дорожки. Рис. 6.6. Примеры разных коэффициентов чередования 87 Контрольные вопросы 1. Какие типы приводов используются в системах позиционирования в накопителях на магнитных дисках? 2. С помощью каких аппаратно-программных средств осуществляется взаимодействие жёсткого диска с операционной системой? 3. Каков путь данных между НЖД и ОЗУ? 4. Какими параметрами определяются физические ограничения BIOS на ёмкость диска? 5. Какими параметрами определяется ограничения ОС на ёмкость диска? 6. С какой целью осуществляется “отображение секторов” в накопителях SCSI-IDE/ATA? 7. Какие логические способы применяют для увеличения ёмкости диска? 7. ИНТЕРФЕЙСЫ ATA/IDE, SATA Сейчас наиболее популярным интерфейсом жестких дисков для ПК является так называемая интегрированная электроника накопителя (Integrated Drive Electronics-IDE). Этот интерфейс популяризировала фирма Conner Peripherals; здесь RLL-или MFM-контроллер находится в самом накопителе, что позволяет исключить плату контроллера. Для подключения накопителя IDE к компьютеру не требуется разъем шины, что больше всего привлекает в этом интерфейсе. Подключение осуществляется через специальный разъем на материнской плате, служащий мини-разъемом, к которому подведены только нужные сигналы для интерфейса IDE. 7.1. Происхождение и типы интерфейсов IDE Как уже отмечалось, IDE (Integrated Drive Electronics) представляет собой обобщающий термин, применимый практически к каждому дисководу со встроенным контроллером. В настоящий момент интерфейс IDE получил официальное название АТА (AT Attachment), принятое в качестве стандарта ANSI. Поскольку в накопителе IDE контроллер встроенный, его можно подключать непосредственно к разъему на плате адаптера или на системной плате. Объединяя контроллер (в том числе и входящий в его состав шифратор/дешифратор) с жестким диском, удается существенно повысить надежность воспроизведения данных. Происходит это потому, что кодирование данных и их преобразование из цифровой формы в аналоговую (и наоборот) осуществляется непосредственно в жестком диске при меньшем уровне внешних помех. В результате аналоговые сигналы, временные параметры которых весьма критичны, не передаются по плоским кабелям, где они могли бы “набрать” помех; кроме того, при передаче сигналов по кабелям могут возникнуть непредсказуемые задержки их распространения. В конечном счете, совмещение контроллера и жесткого диска в едином блоке позволило повысить тактовую частоту шифратора/дешифратора, 88 плотность размещения данных на носителе и общее быстродействие системы. В настоящее время из всех разновидностей интерфейса IDE используются только версии ATA. Уже появились более быстрые и мощные версии интерфейсов ATA и SATA, в частности, улучшенные варианты ATA получили название ATA-2 и далее. Иногда эти версии называют также EIDE (Enhanced IDE), Fast-ATA, Ultra-ATA или Ultra-DMA. Несмотря на все возможности последней версии ATA-7, в целом интерфейс SATA демонстрирует большую производительность и функциональность. За время существования персональных компьютеров было разработано несколько интерфейсов. В табл. 7.1 приведены типы интерфейсов и период их использования. Таблица 7.1 Интерфейс ST-506/412 ESDI SCSI IDE Serial ATA Когда использовался 1978–1989 гг. 1983–1991 гг. С 1986 г. по настоящее время С 1986 г. по настоящее время С 2003 г. по настоящее время Интерфейс ST 506/412 ST 506 - это название для 5MB жесткого диска размером 5.25” и для интерфейса под этот диск (рис.7.1). ST 412- это название для 10MB винчестера и для его интерфейса. Для первых винчестеров ST 506/412 применялся метод модифицированной частотной модуляции (MFM). Он позволял записывать 17 стандартных 512-байтных секторов на одну дорожку. Максимальная скорость передачи при этом составляла около 5 MBit/s. Интерфейс ESDI (Enhanced Small Device Interface) В этом интерфейсе сепаратор данных перенесен с контроллера на винчестер (рис.7.1), что дало два важных преимущества: 1) на сигнал не влияли искажения в кабеле, сепаратор мог быть точнее отстроен на характеристики привода; 2) отказ от передачи низкоуровневых аналоговых сигналов позволил повысить скорость передачи по сравнению с интерфейсом ST 506/412 в два раза - часть сигналов ESDI передается по кабелю как синфазные, однако сигналы данных и синхронизации передаются как дифференциальные. 89 Интерфейс ATA/IDE Только ST 506/412 и ESDI можно считать настоящими интерфейсами между контроллером и диском - интерфейсами приборного уровня. ATA (и SCSI) - это интерфейсы системного уровня, в которых контроллер одного из первых двух типов выполнен в виде микросхемы (или комплекта микросхем) и встроен в диск (рис.7.1). Например, в большинстве дисков SCSI, ATA и SATA установлено устройство, собранное по той же схеме, что и автономный контроллер ESDI. В интерфейсе SCSI между контроллером и системной шиной вводится еще один уровень организации данных и управления, а интерфейс ATA/SATA взаимодействует непосредственно с системной шиной. Несмотря на эти отличия, платы SCSI, ATA или Serial ATA именуются не платами контроллера, а адаптерами хост-интерфейса, так как реальные контроллеры встраиваются непосредственно в накопители на жестких дисках. Практически все современные накопители подключаются к ПК с помощью интерфейсов ATA, SATA или SCSI. Усилитель Пиковый детектор Импульсный формирователь Сепаратор данных со схемой предкомпенсации Контроллер драйвера ROM Устройство позиционирования Шпиндель двигателя ФАПЧ КЭШ память I/O порт ST 506 ESDI SCSI, ATA/IDE Рис. 7.1 Составные узлы НЖМД для различных интерфейсов Сигналы интерфейса ATA (сигналы 40-контактного разъёма) Стандарты ATA позволили избавиться от несовместимости и различных проблем между дисководами IDE и шинами ISA/PCI. Спецификации ATA определяют сигналы выводов 40-контактного разъема, их функции и синхронизацию, стандарты кабеля и т.п. (табл. 7.2). 90 Таблица 7.2 Название сигнала -RESET Данные, бит 7 Данные, бит 6 Данные, бит 5 Данные, бит 4 Данные, бит 3 Данные, бит 2 Данные, бит 1 Данные, бит 0 Общий DRQ 3 -IOW -IOR I/O CH RDY -DACK 3 IRQ 14 Адрес, бит 1 (Адреса рег. в Адрес, бит 0 (контр. IDE) -CS1FX -DA/SP(Drive Active/Slave Present) +5В (питание электроники) Общий Вывод 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 Вывод 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 Название сигнала Общий Данные, бит 8 Данные, бит 9 Данные, бит 10 Данные, бит 11 Данные, бит 12 Данные, бит 13 Данные, бит 14 Данные, бит 15 Ключ (нет вывода) Общий Общий Общий SPSYNC:CSEL Общий -IOCS16 -PDIAG Адрес, бит 2 -CS3FX Общий 41 43 42 44 +5В (питание двигателя) -TYPE (0=ATA) Стандарты ATA/IDE В качестве стандарта принят только интерфейс ATA/IDE. Стандартная шина АТА представляет собой 16-разрядный параллельный интерфейс, т.е. по интерфейсному кабелю одновременно передается 16 бит данных (разрядов). Новый интерфейс, получивший название SATA, был официально представлен в конце 2000 года и начиная с 2003 года появился в готовых системах. Интерфейс SATA обеспечивает единовременную передачу по кабелю только одного бита данных, что позволяет уменьшить геометрические размеры используемого кабеля и обеспечить более высокую эффективность его работы, которая достигается за счет повышения циклической частоты передачи информации. Интерфейс SATA имеет полностью обновленную физическую архитектуру, обеспечивая при этом программную совместимость с параллельным АТА. 91 Основным преимуществом накопителей АТА по сравнению со старыми интерфейсами, созданными на основе отдельных контроллеров, а также, более современными хост-интерфейсами шины данных, к которым относятся SCSI и IEEE-1394 (iLink или FireWire), является их низкая стоимость. Тем не менее модели высшего класса по своим рабочим характеристикам ничем не уступают накопителям других типов, представленным на рынке однопользовательских однозадачных операционных систем. В табл. 7.3 приведены сведения о существующих стандартах ATA. Таблица 7.3 Стандарт ATA-1 ATA-2 Быстро Срок -действ PIO DMA UDMA Свойства использ. Мбайт/ с. 1986-1994 гг 0-2 0 8.33 Трансляция CHS/LBA для работы с 1995-1996 гг 0-4 0-2 16.67 дисками емкостью до 8.4 Гбайт ATA-3 1997 г. 0-4 0-2 - 16.67 Поддержка технологии S.M.A.R.T. Режимы Ultra-DMA, поддержка ATA-4 1998 г. 0-4 0-2 0-2 33.33 дисков емкостью до 137,4 Гбайт на уровне BIOS ATA-5 1999-2000гг 0-4 0-2 0-4 66,67 Режимы Faster UDMA ATA-6 2001г. 0-4 0-2 0-5 100 Режим UDMA с быстродействием 100 Мбайт/с, поддержка дисков емкостью до 144 Пбайт на уровне BIOS ATA-7 2001г. 0-4 0-2 0-6 133 Режим UDMA с быстродействием 100 Мбайт/с SMART — Self-Monitoring, Analysis, and Reporting Technology. Пбайт — петабайт; 1 Пбайт равен 1 квадрильону байт. CHS — Cylinder Head Sector. LBA — Logical Block Address. UDMA — Ultra DMA (Direct Memory Access). ATA-4 (Ultra-ATA/33)_1998г.; ATA-5 (Ultra-ATA/66)_1999г; ATA-6 (Ultra-ATA/100)_2000.г., ATA-7 (Ultra-ATA/133)_2001г. Формальный стандарт АТА принят компьютерной индустрией. Стандарт опирается на 40-контактный разъем особой конструкции, сигналы на который берутся со стандартной (ISA) шины ввода-вывода. Большинство IDE-дисков форматируется на 34 и более секторов и имеет чередование 1:1. В IDE-дисках предусмотрен режим программной трансляции, который позволяет преобразовывать геометрию цилиндров, головок и секторов (P-CHS) 92 реального дисковода в геометрию дисковода-модели (L-CHS), представленного в компьютере. Накопители IDE/ATA могут подстроиться под любые параметры накопителя-модели, при их установке при условии одинаковой ёмкости. 7.2. Подключение IDE-устройств к шине AT BUS При установке IDE/ATA (рис.7.2) можно выбрать любой тип накопителя, если его ёмкость не больше ёмкости IDE/ATA. Номер его модели вводится в КМОП-ЗУПВ конфигурации. При последующей загрузке ПК программа запуска помещает в элементы 41h (и 46h при наличие двух устройств) таблицы векторов прерываний указатели на таблицы HDPT для выбранных типов накопителей. CPU MEM DMA AT BUS 40 контактный кабель IDE-адаптер. ХОСТ “Дейзи-цепочка” IDEустройство IDE НЖМД IDE НЖМД Содержит буферы сигналов и дешифратор зоны адресов Содержит : все регистры контроллера, схемы кодирования Рис. 7.2. Подключение IDE-устройств к шине AT BUS Когда накопитель IDE/ATA начинает работать, он проверяет эти указатели и обращается к соответствующей HDPT. После этого он настраивает отображение секторов (или преобразование секторов) так, чтобы выглядеть накопителем того типа, который вы ввели. Можно не знать истинных параметров установленного накопителя IDE/ATA. Всё что нужно знать - это максимальную ёмкость. Регистры хост-контроллера IDE (HC/IDE) Многие жесткие диски, в которых электроника контроллера встроена в накопитель, в общем, являются разновидностями IDE-накопителя, но их 93 называют иначе благодаря другим существенным отличиям. Во всех накопителях SCSI встроенная электроника, но называются они SCSI. На нижнем уровне накопитель IDE работает аналогично SCSI. Его интерфейс создает единый линейный набор блоков, адресуемых их логическими адресами, а электроника преобразует этот набор в трехмерную адресацию, которую ожидает компьютер. Регистры контроллера IDE приведены в табл.7.4. Адрес Регистры чтения Регистры записи 1F0 Данные Данные 1F1 Ошибка Регистр предкомпенсации 1F2 Счётчик секторов Счётчик секторов 1F3 № сектора № сектора 1F4 Цилиндр (мл) Цилиндр (мл) 1F5 Цилиндр (ст) Цилиндр (ст) 1F6 № дисковода и головки № дисковода и головки 1F7 Состояние Команда 3F6 Дополнительное состояние Цифровой выходной регистр 3F7 Адрес накопителя Не используется Внутренняя шина привода Таблица 7.4 Команды интерфейса ATA Одно из преимуществ интерфейса ATA/IDE - расширенная система команд (табл. 7.5). Этот интерфейс разрабатывался на базе использовавшегося в первых компьютерах IBM AT контроллера WD1003, поэтому все без исключения накопители ATA/IDE должны быть совместимы с системой из восьми команд упомянутого контроллера. Этим, в частности, и объясняется простота установки IDE-накопителей в компьютеры. Во всех PC-совместимых компьютерах поддержка контроллера WD1003, а, следовательно, и интерфейса ATA/IDE, встроена в системную BIOS. 94 Таблица 7.5 1 Возврат к 0 цилиндру 9 Чтение длинное 2 Чтение сектора 10 Запись длинная 3 Запись сектора 11 Уст. реж. многодорожеч. 4 Чтение с верификацией 12 Чтение буфера сектора 5 Форматирование дорожки 13 Запись буфера сектора 6 Поиск цилиндра 14 Идентификация накопителя 7 Диагностика 15 Установить режим буфера 8 Инициал. парам. накопит. 16 Помимо набора команд контроллера WD1003, в стандарте ATA предусмотрено множество других команд, позволяющих повысить быстродействие и улучшить параметры жестких дисков. Эти команды считаются необязательной частью интерфейса ATA, но некоторые из них используются почти во всех современных жестких дисках и в значительной степени определяют их возможности в целом. Наиболее важной из них является команда идентификации жесткого диска. По этой команде из жесткого диска в систему передается блок данных размером 512 байт с подробными сведениями об устройстве. Это позволяет любой программе (в том числе и системной BIOS) определить тип подключенного жесткого диска, кампанию изготовителя, номер модели, рабочие параметры и даже заводской номер изделия. Во многих современных версиях BIOS эта информация запрашивается автоматически, и после ее получения параметры жесткого диска заносятся в CMOS-память. Это избавляет пользователя от необходимости вводить их вручную при конфигурировании системы. Данные, полученные при выполнении команды идентификации жесткого диска, включают ряд сведений, относящихся к данному дисководу: - количество адресов логических блоков, доступных при использовании режима LBA; - количество физических цилиндров, головок и секторов, доступных в режиме P_CHS; - количество логических цилиндров, головок и секторов в текущей трансляции режима L_CHS; - поддерживаемые режимы и скорости передачи; - название компании изготовителя и номер модели; - версия внутренней прошивки; - серийный номер; - тип или размер буфера, определяющий буферизацию сектора или возможности кэширования. 95 Еще две очень важные команды - Read Multiple и Write Multiple. Они позволяют осуществлять так называемый многосекторный обмен данными (т.е. обмен порциями, равными нескольким секторам). В сочетании с возможностью реализации пакетного режима программного ввода-вывода (Programmed I/O PIO) это позволяет многократно увеличить общую производительность жесткого диска (по сравнению с работой в односекторном режиме). Помимо указанных, существует множество других дополнительных команд, в том числе специфических, определяемых производителями конкретных моделей жестких дисков. 7.3. Интерфейс Serial ATA (SATA) Параллельная передача данных, осуществляемая по плоскому кабелю со скоростью более 100 Мбайт/с, порождает множество проблем, связанных с синхронизацией сигнала и электромагнитным излучением. Их решением стал новый последовательный интерфейс АТА (Serial ATA), пришедший на смену параллельному интерфейсу физических накопителей. Serial ATA (SATA) обратно совместим на программном уровне, т.е. используемое программное обеспечение взаимодействует с новой архитектурой без каких-либо ограничений. Другими словами, существующая базовая система ввода-вывода, операционные системы и утилиты, работающие с параллельным ATA, точно также будут работать и с последовательным интерфейсом. Serial ATA поддерживает все существующие устройства ATA и ATAPI, в число которых входят дисководы CD-ROM, CD-RW и DVD, накопители на магнитной ленте, дисководы SuperDisk, а также накопители других типов, поддерживаемые в настоящее время параллельным АТА (PATA). Со временем SATA, как фактический стандарт внутренних запоминающих устройств, используемых в ПК, полностью вытеснит параллельный интерфейс АТА. Спецификация стандартов SATA В настоящее время существует три версии стандарта SATA. Эти версии отличаются только скоростью передачи данных (табл. 7.6). Скорость передачи данных последовательного интерфейса, использующего более узкий, длинный и менее дорогой кабель, равна 150 Мбайт/с, 300 или даже 600 Мбайт/с. Тип ATA Serial Ширина шины, бит SATA-150 SATA-300 SATA-600 1 1 1 Частота шины, МГц Таблица 7.6 Число циклов Пропускная данных за один способность такт Мбайт/с. 1500 3000 6000 1 1 1 150 300 600 96 Кодирование данных Для кодирования и расшифровки данных, передаваемых по кабелю, SATA использует специальную схему шифрования, получившую название 8B/10B. Первоначально код 8B/10B был разработан (и запатентован) компанией IBM в начале 1980-х годов для использования в быстродействующей передаче данных. В настоящее время эта схема используется во многих высокоскоростных стандартах передачи данных, включая Gigabit Ethernet, Fibre Channel, FireWire и др. Основной особенностью схемы кодирования 8B/10B является то, что количество последовательно передаваемых нулей (или единиц) не должно превышать четырех. В одном закодированном 10-разрядном символе не может быть использовано более шести или менее четырех нулей (единиц). Передача нулей и единиц осуществляется в виде изменения величины подаваемого напряжения. Поэтому промежуток между переходными напряжениями, которые подаются передатчиком, получается достаточно сбалансированным, с более устойчивым и регулярным потоком импульсов. Нагрузка схемы становится более постоянной, что приводит к повышению ее надежности. Во время преобразования 8-разрядных данных в 10-разрядные закодированные символы некоторое количество 10-разрядных комбинаций остается неиспользованным. Часть из них применяется для управления потоком, разграничения пакетов данных, выполнения проверки ошибок или каких-либо других специальных операций. 7.4.Физический интерфейс SATA В схеме физической передачи интерфейса SATA используется так называемый дифференцированный метод “без возврата к нулю” (Non-Return to Zero - NRZ). В этой схеме применяется сбалансированная пара проводов, по каждому из которых подается напряжение, равное 0,25В (рис. 7.3). Сигналы посылаются дифференцированно: если по одному проводу пары передается напряжение +0,25B, то по другому соответственно –0,25B. Таким образом, разность напряжений постоянно составляет 0,5В (половина вольта). Это означает, что форма передаваемого сигнала всегда находится в противофазе по отношению к сигналу, передаваемому по смежному проводу. Дифференцированная передача минимизирует электромагнитную радиацию и позволяет упростить чтение сигналов на приемном конце. В интерфейсе SATA для подачи напряжения 5 и 12В используется стандартный 4-контактный силовой разъем, а также дополнительный 15-контактный силовой кабель и разъем питания, обеспечивающие подачу электроэнергии напряжением 3,3В. Ширина силового разъема 15-контактного кабеля в этой конструкции равна всего 24 мм (0,945 дюйма). Сила тока, подаваемого на контакты уровней напряжения (3,3), (5) и (12)В, достигает 4,5A, что обеспечивает достаточную мощность даже для наиболее энергоемких 97 дисководов. Для совместимости с существующими источниками питания дисководы SATA могут быть выполнены как со стандартными 4-контактными разъемами питания, так и с новыми 15-контактными силовыми разъемами. HT+ DRHTHRHR+ G A+ AG BB+ G 1 2 3 4 5 6 7 1 2 3 4 5 6 7 G A+ AG B+ BG DR+ DRDTDT+ Рис. 7.3. Структура кабеля передачи данных SATA Примечание. Контакты разъема расположены в один ряд на расстоянии 1,27мм (0,05 дюйма) друг от друга. Выводы заземления длиннее, поэтому они контактируют друг с другом раньше, чем сигнальные или силовые контакты. Это позволяет подключать кабель во время работы компьютера. Первое поколение накопителей SATA со скоростью вращения 7200 об/мин (например, Seagate Barracuda V) имеет скорость передачи данных не более 40-50 Мбайт/с. Стандарт SATA, как и Parallel ATA (PATA), разрабатывался в качестве основного интерфейса устройств хранения данных, используемых в персональном компьютере, поэтому он не предназначен для подключения внешних устройств. По своим характеристикам SATA не может соперничать с интерфейсами высокоскоростных внешних устройств, к которым относятся SCSI, USB 2.0 и IEEE_1394 (FIre Wire). Судя по всему, в течение нескольких ближайших лет SATA полностью заменит параллельный интерфейс АТА. Контрольные вопросы 1. Что означают термины ATA, IDE, SATA? 2. Каковы характерные особенности интерфейсов приборного уровня ST506/412, ESDI? 3. В чём заключается разница между интерфейсами системного уровня ATA/SATA и SCSI? 4. Какие основные сигналы определяет интерфейс ATA? 5. В чём смысл программной трансляции геометрии накопителей (CHS)? 6. Какова особенность схемы подключения IDE-устройства к шине IDE? 7. Какие сведения о дисководе можно получить в результате выполнения команды идентификации диска? 8. За счёт чего возникают преимущества SATA по сравнению с ATA и в чём они заключаются? 9. Какой метод кодирования используется в интерфейсе SATA? 98 8. ИЗБЫТОЧНЫЙ МАССИВ НЕЗАВИСИМЫХ ДИСКОВЫХ НАКОПИТЕЛЕЙ (RAID) Назначение RAID-массива Избыточный массив независимых (или недорогих) дисковых накопителей (Redundant Array of Independent/Inexpensive Disks - RAID) разрабатывался в целях повышения отказоустойчивости и эффективности систем компьютерных запоминающих устройств. Технология RAID была разработана в Калифорнийском университете в 1987 году. В ее основу был положен принцип использования нескольких дисков небольшого объема, взаимодействующих друг с другом посредством специального программного и аппаратного обеспечения, в качестве одного диска большой емкости. Первоначальная конструкция RAID предусматривала простое соединение областей памяти нескольких отдельных дисков. Но, как оказалось, подобная схема снижает надежность матрицы и практически не влияет на ее быстродействие. Например, четыре диска, объединенных в матрицу, которая работает как один диск, будут “сбоить” в четыре раза чаще, чем один диск той же емкости. Для повышения надежности и быстродействия матрицы ученые университета Беркли предложили шесть различных уровней RAID. Каждый из этих уровней характеризуется определенной отказоустойчивостью (надежностью), емкостью запоминающего устройства и быстродействием. В июле 1992 года была создана организация RAID Advisory Board (RAB), которая занимается стандартизацией, классифицированием и изучением RAID. Собранные материалы находятся на Web-узле организации (http://www.raid.advisory.com). RAB занимается разработкой спецификаций RAID, согласованием программ для его различных уровней, а также систематизацией класса программ для аппаратного обеспечения RAID. В настоящее время организация RAB определила семь стандартных уровней RAID: от RAID-0 до RAID-6. 8.1. Уровни RAID и их свойства Избыточный массив независимых дисковых накопителей (RAID) обычно реализуется посредством платы контроллера RAID. Кроме того, реализация RAID может быть обеспечена с помощью соответствующих программ (что не рекомендуется). Ниже перечислены существующие уровни RAID: Уровень RAID-0 - расслоение Содержимое файла записывается одновременно на несколько дисков матрицы, которая работает как один дисковод большой емкости. Этот уровень обеспечивает высокую скорость выполнения операций чтения/записи, но очень низкую надежность. Для реализации уровня необходимы, как минимум, два дисковода; 99 Уровень RAID-1 - зеркальное отражение Данные, записанные на одном диске, дублируются на другом, что обеспечивает превосходную отказоустойчивость (при повреждении одного диска происходит считывание данных с другого диска). При этом заметного повышения эффективности матрицы по сравнению с отдельным дисководом не происходит. Для реализации уровня необходимы, как минимум, два дисковода; Уровень RAID-2 - разрядный код коррекции ошибок Одновременно происходит побитовое дробление данных и запись кода коррекции ошибок (ЕСС) на нескольких дисках. Этот уровень предназначен для запоминающих устройств, не поддерживающих ЕСС (все дисководы SCSI и ATA имеют встроенный внутренний код коррекции ошибок). Обеспечивает высокую скорость передачи данных и достаточную надежность матрицы. Для реализации этого уровня требуется несколько дисководов. В настоящее время не существует коммерческих контроллеров RAID-2 или дисководов, не поддерживающих код коррекции ошибок; Уровень RAID-3 - расслоение с контролем четности Объединение уровня RAID-0 с дополнительным дисководом, используемым для обработки информации контроля четности. Этот уровень фактически представляет собой видоизмененный уровень RAID-0, для которого характерно уменьшение общей полезной емкости матрицы при сохранении числа дисководов. Однако при этом достигается высокая степень целостности данных и отказоустойчивости, так как в случае повреждения одного из дисков данные могут быть восстановлены. Для реализации этого уровня необходимы, как минимум, три дисковода (два или более для данных и один - для контроля четности); Уровень RAID-4 - cблокированные данные с контролем четности Этот уровень подобен уровню RAID-3 и отличается только тем, что запись информации осуществляется на независимые дисководы в виде больших блоков данных, что приводит к увеличению скорости чтения больших файлов. Для реализации этого уровня необходимы, как минимум, три дисковода (два или более для данных и один - для контроля четности); RAID-5 - сблокированные данные с распределенным контролем четности Этот уровень подобен RAID-4, но предполагает более высокую производительность, которая достигается за счет распределения системы контроля четности по категориям жестких дисков. Для реализации этого уровня необходимы, как минимум, три дисковода (два или более для данных и один для контроля четности); 100 Уровень RAID-6 - сблокированные данные с двойным распределенным контролем четности Подобен уровню RAID-5 и отличается тем, что данные контроля четности записываются дважды за счет использования двух различных схем контроля четности. Это обеспечивает более высокую надежность матрицы в случае множественных отказов дисковода. Для реализации этого уровня необходимы, как минимум, четыре дисковода (два или более для данных и два - для контроля четности). 8.2. Сфера применения массивов RAID До недавнего времени практически все контроллеры RAID создавались на основе дисководов SCSI. С профессиональной точки зрения SCSI-RAID является самым приемлемым вариантом, так как объединяет положительные стороны RAID с достоинствами SCSI как интерфейса, предназначенного для поддержки нескольких дисководов. В настоящее время появились контроллеры ATA-RAID, которые позволяют значительно уменьшить стоимость реализаций RAID. Стандарт ATA-RAID предназначен в основном для индивидуальных пользователей, стремящихся к повышению производительности системы или простому зеркальному отражению дисков для резервирования данных. Ради повышения функциональности системы адаптеры ATA-RAID поддерживают уровень RAID-0, который обеспечивает расслоение данных. К сожалению, это приводит к снижению надежности дисковой матрицы, так как при повреждении диска все данные, находящие на нем, будут потеряны. Надежность матрицы, работающей на уровне RAID-0, повышается с увеличением количества используемых дисководов. Не ждите, что при использовании четырех дисководов эффективность матрицы также увеличится в четыре раза. Она будет просто близка к постоянной скорости передачи данных. Определенные затраты возникают из-за контроллера, выполняющего расслоение данных, а также могут быть связаны с периодом времени ожидания (имеется в виду время, используемое для поиска данных). Однако даже в этом случае эффективность матрицы будет выше, чем какого-либо отдельного дисковода. Для достижения более высокой надежности адаптеры ATA RAID поддерживают уровень RAID1, который представляет собой зеркальное отображение дисковода. При этом происходит дублирование данных, записанных на одном из дисков. При повреждении какого-либо дисковода, система может работать с данными, сохраненными на другом диске. К сожалению, эффективность матрицы при этом практически не изменяется; более того, будет использоваться только половина существующего объема диска. Другими словами, устанавливаются два диска, а по сути, получается только один (второй диск является зеркальным отображением первого). Тем не менее, в эпоху накопителей большой емкости, имеющих невысокую стоимость, это не играет существенной роли. Например, если системная плата включает в себя адаптер ATA RAID, можно создать массив ATA RAID 1 емкостью 101 160 Гбайт (два жестких диска по 80 Гбайт), который обойдется примерно в 200 долларов (по 100 долларов за каждый диск). За выделенный адаптер ATA RAID придется заплатить еще 100 долларов. С целью уменьшить пространство, занимаемое кабельной разводкой, подумайте о реализации массива Serial ATA RAID, в котором используется узкий кабель SATA, упомянутый в одном из предыдущих разделов. Для того чтобы объединить высокую эффективность с повышением надежности матрицы, следует воспользоваться уровнями RAID-3 или RAID-5. Например, практически все профессиональные контроллеры RAID, используемые в сетевых файловых серверах, предназначены для работы на уровне RAID-5. При этом стоимость подобных контроллеров значительно выше. Кроме того, для реализации уровня RAID-5 необходимы, как минимум, три дисковода. Большинство контроллеров ATA RAID позволяют объединять различные уровни RAID, например, уровни 0 и 1, что дает возможность повысить надежность матрицы при отсутствии дополнительных затрат. Для реализации этих уровней нужны четыре дисковода, два из которых образуют уровень RAID0. При этом их содержимое записывается во второй массив дисков, образующих уровень RAID1. Подобная схема позволяет примерно в два раза повысить эффективность матрицы, сохранив при этом резервный набор данных. Контроллеры ATA-RAID в настоящее время поставляются компаниями Arco Computer Products, Iwill, Promise Technology, HighPoint и др. Типичным примером контроллера ATA-RAID является Promise FastTrak 100/TX4. Этот контроллер позволяет соединить до четырех дисководов, которые, в свою очередь, могут быть организованы в уровни RAID-0, 1 или режим 0+1. В этой плате также используются отдельные каналы передачи данных (кабели) ATA для каждого дисковода, чем достигается максимальная эффективность системы. Компания Promise Technology также предлагает менее дорогой контроллер стандарта ATA-RAID, имеющий только два канала данных - FastTrak 100/TX2. Этот контроллер тоже позволяет соединять до четырех дисководов, но при совместном использовании двух кабелей АТА эффективность матрицы будет ниже. Это связано с тем, что дисковод может единовременно передавать данные только по одному кабелю, что снижает вдвое производительность всей матрицы. При поиске нужного контроллера ATA-RAID в первую очередь рекомендуют обращать внимание на следующие параметры: 1) поддержка уровней RAID (в основном это уровни 0, 1 и сочетание уровней 0+1); 2) два или четыре канала; 3) поддержка скоростей ATA/100 или ATA/133; 4) поддержка разъемов PCI с частотами 33 или 66 МГц; 102 5) ATA или SATA (интерфейс SATA имеет более высокую скорость передачи данных). Избыточный массив независимых дисковых накопителей может быть организован и без дорогих контроллеров RAID, для этого следует воспользоваться средствами операционных систем более старших моделей (чаще всего серверных). Например, операционные системы Windows NT/2000 и XP Server поддерживают реализацию RAID на программном уровне, используя при этом как расслоение, так и зеркальное отображение данных. Для установки параметров и управления функциями RAID, а также восстановления поврежденных данных в этих операционных системах используется программа Disk Administrator. Тем не менее, при организации сервера, который должен сочетать в себе эффективность и надежность, лучше воспользоваться контроллерами ATA-RAID или SCSI-RAID, аппаратно поддерживающими уровни RAID-3 или RAID-5. Сравнительно недавно началась работа над последующим стандартом SATA II,1, который определяет расширения SATA-1.0. Они включают в себя большую скорость передачи данных - 3 Гб/с. Ожидается, что последующие спецификации будут определять скорости передачи данных до 6 Гб/с. Контрольные вопросы 1. Что такое «расслоение» и «зеркальное отображение» данных? 2. Что означает термин «реализация RAID на программном уровне, на аппаратном уровне»? 3. Какие выгоды даёт массив RAID? 9. ИНТЕРФЕЙС МАЛЫХ КОМПЬЮТЕРНЫХ СИСТЕМ (SCSI) Аббревиатура SCSI расшифровывается как Small Computer System Interface. Это универсальный интерфейс, используемый для подключения устройств различного типа к персональному компьютеру. Интерфейс SCSI предназначен для подключения высокоскоростных жестких дисков к высокопроизводительным ПК, таким как рабочие станции и сетевые серверы. SCSI является не только дисковым, но и системным интерфейсом, т.е. позволяет подключать устройства самых различных типов, в том числе принтеры и сканеры. Шина поддерживает в общей сложности от 7 до 15 устройств. Существуют также многоканальные адаптеры, которые обеспечивают поддержку от 7 до 15 устройств на каждом канале. Будучи “быстрым” интерфейсом, SCSI прекрасно подходит для высокопроизводительных рабочих станций, серверов или каких-либо других систем, которым жизненно необходим эффективный интерфейс для устройств хранения данных. Последняя версия интерфейса Ultra4 (Ultra-320) SCSI поддерживает скорость передачи данных до 320 Мбайт/с. В настоящее время разрабатывается 103 еще более быстрый интерфейс Ultra5 (Ultra-640), позволяющий передавать данные со скоростью 640 Мбайт/с. Сравните это с показателями 133 Мбайт/с (ATA_6) и 150 Мбайт/с нового интерфейса SATA. 9.1.Стандарт SCSI-1 Этот стандарт является первой реализацией SCSI. Официальным документом стандарта SCSI-1 является ANSI X3.131-1986. Схема подключения SCSI-1 Физически шина SCSI-1 – плоский кабель для подключения 8 ПУ (рис. 9.1). Стандарт SCSI-1 определяет 2 способа передачи сигналов синфазный и дифференциальный. SCSI-1 - шина имеет 8 линий данных, линию четности и 9 управляющих линий. Системная магистраль HOST адаптер SCSI Шина SCSI Контроллер Контроллер Контроллер Контроллер НЖД CD - ROM Сканер НМЛ Рис. 9.1 Схема подключения SCSI Линии интерфейса SCSI-1 Каждое устройство на магистрали SCSI-1 имеет свой адрес (ID). Управляющие сигналы BSY, SEL, RST служат для инициализации, адресации и захвата шины. Оставшиеся 6 сигналов обеспечивают протокол шины SCSI-1. REQ и ACK - это сигналы для квитирования (рис. 9.2). 104 (-DB0) - (-DB7) Шина данных Паритет -ATN I N I T I A T O R Внимание -ACK T A R G E T -BSY -RST -MSG -SEL -C/D -REQ Ответ (подтверждение) на -REQ Шина занята Сброс Target передает сообщение Выбор (Select) целевого устройства (Target) инициатором или Reselect инициатора целевым устройством Управление (0)/Данные(1) на шине Запрос на пересылку данных -I/O Направление передачи относительно инициатора Рис. 9.2. Линии интерфейса SCSI По типу сигналов различают линейные (Single Ended - SE) и дифференциальные (DIFF) версии SCSI, которые несовместимы электрически. Дифференциальные версии SCSI допускают большую суммарную длину кабеля при высоких скоростях. Универсальные символические обозначения интерфейса SCSI имеют вид рис. 9.3. SCSI SE Линейный (Single Ended) SCSI DIFF Дифференциальный (Differential) Рис. 9.3. Универсальные символические обозначения интерфейса SCSI Фазы протокола SCSI-1 Выполнение операций на шине SCSI-1 подразделяется на фазы, приведённые в табл. 9.1. 105 Таблица 9.1 BUS FREE - шина свободна ARBITRATION - арбитраж SELEСTION - выборка RESELECTION-перевыборка Фазы захвата шины и адресации COMMAND - команда DATA - данные STATUS - состояние MESSAGE - сообщение Фазы передачи Фаза «BUS FREE» возникает, как правило, после системного сброса. Ее признаком является отсутствие сигналов занятости BSY и выборки SEL. Фаза «ARBITRATION» возникает, когда какое-либо устройство хочет взять на себя управление шиной, т.е. стать инициатором. Определив, что шина свободна, устройство формирует сигнал BSY и на соответствующую линию данных выставляется сигнал-идентификатор ID SCSI-устройства. При этом каждое из 8 возможных устройств шины SCSI может выдавать свой ID-бит только на закрепленную за ними линию данных. Устройство с максимальным значением ID выигрывает арбитраж и берет на себя управление шиной. ID может принимать значения в диапазоне 0-7. Для HOST-адаптера ID=7. Фаза «SELECTION» дает возможность инициатору выбрать исполнителя для выполнения необходимой функции передачи. Инициатор выставляет ID-номер на шину данных и сигнал SEL. Фазы «ПЕРЕДАЧИ» включают восемь функций передачи, определяемых сигналами MSG, -C/D, -I/O (табл. 9.2). Таблица 9.2 Значения сигналов Название функции передачи MSG -C/D -I/O 0 0 0 DATA OUT IT 0 0 1 DATA IN IT 0 1 0 COMMAND IT 0 1 1 STATUS IT 1 0 0 Резерв 1 0 1 Резерв 1 1 0 MESSAGE OUT IT 1 1 1 MESSAGE IN IT 106 Программное обеспечение интерфейса SCSI не оперирует физическими характеристиками винчестера (т.е. числом CHS), а имеет дело только с логическими блоками (LBA). Поэтому интерфейс может быть использован для любых блочных устройств. Скорость передачи по шине SCSI-1 достигает 1.5 Мбайт/с в асинхронном режиме и 3-4 Мбайт/с - в синхронном режиме. Система команд SCSI-1 Адаптеры SCSI не берут на себя функции управления накопителем, а осуществляют лишь передачу накопителю запросов на чтение/запись. Установленные в накопителе контроллеры интерпретируют запросы SCSI в команды накопителя. Стандарт SCSI-1 включает нормированный список команд - 8 групп по 32 команды в каждой: - группа 0 содержит такие основные команды, как чтение, запись, позиционирование; - в группы 1-5 входят расширенные наборы команд, которые используются не всегда; - команды в группах 6 и 7 зависят от конкретных устройств и могут отличаться от винчестера к винчестеру, они содержат приборно-зависимые тестовые команды; - группы 2, 3, и 4 резервируются для будущих применений. Для каждого типа устройства команды делятся на 4 категории: 1) обязательные (M); 2) расширенного набора (E); 3) дополнительные команды (O); 4) уникальные команды конкретного пользователя (V). Таблица 9.3 Код 03h 04h 07h 08h 0Ah 12h 25h 28h 2Ah Тип M M M M M E E E E Команда Запрос состояния чтения Формат Составить карту дефектных секторов Чтение данных (21-разр. адрес, 8-разр. счетчик) Запись данных Запрос типа устройства Определить емкость или свободное пространство Чтение данных (32-разр. адрес, 16-разр. счетчик) Запись данных (32-разр. адрес, 16-разр. счетчик) 1Dh O Запрос диагностики 3Bh 3Ch O O Писать буфер Читать буфер 107 Стандарт SCSI обладает большим достоинством для изготовителей ПК. Фирмы-изготовители ПК могут поставлять один единственный SCSI, оставляя за пользователем выбор интеллектуального контроллера и соответствующего ему накопителя. Унификация способа подключения устройств с интерфейсом SCSI как на физическом, так и на логическом уровне позволяет пользователю применять периферию различных фирм в одной системе. Любое оборудование стандарта SCSI поддерживает набор обязательных команд. Расширенный набор команд обеспечивает работу накопителей, имеющих более высокие характеристики, нежели стандартные. Всё пространство данных, которое используется устройствами с интерфейсом SCSI, логически организовано как последовательный массив блоков. В командах передачи данных указывается номер начального блока и количество передаваемых блоков. Интерфейс SCSI выполняет каждую команду в два этапа. На первом этапе HOST-контроллер преобразует команды операционной системы в команды формата SCSI. На втором этапе контроллер ЖД осуществляет преобразование команд шины SCSI в сигналы управления накопителем. Обязательный набор команд для передачи номера блока использует 21-разрядный адрес, а для указания количества блоков 8-разрядный счётчик. Иллюзия совершенного накопителя По существу, жесткий диск с интерфейсом SCSI имеет свою электронику контроллера диска. Главный адаптер SCSI просто управляет шиной SCSI, которая действует как разновидность локальной мини-сети. Важное следствие такого многослойного управления накопителем состоит в том, что многие физические детали накопителя скрываются от компьютера. Теперь ни компьютер, ни контроллер диска, вставленный в шину компьютера, не командуют накопителю перейти на одну дорожку внутрь или наружу. Накопитель на шине SCSI выглядит для компьютера как идеализированная большая группа логических блоков, в которых могут храниться данные. Главный адаптер SCSI адресует каждый из этих блоков по адресу логического блока (Logical Block Address - LBA). Чтобы ПК рассматривал накопитель SCSI, как и любой другой жесткий диск, главный адаптер представляет накопитель SCSI компьютеру как обычный трехмерный диск. Но главный адаптер создает количество головок, цилиндров и секторов на дорожке для такого фиктивного диска наиболее удобным для себя образом. Накопитель SCSI большой емкости может фактически иметь пять дисков с десятью головками, из которых одна или две головки применяются для позиционирования блока головок. Накопитель имеет несколько тысяч дорожек. Внутренние дорожки имеют более 30 секторов, внешние дорожки - в два раза больше, а часть средних дорожек может иметь какое-то промежуточное количество секторов. 108 Интерфейс ведомого SCSI превращает все это в простой одномерный массив запоминающих блоков. В свою очередь, главный адаптер SCSI создает из линейного массива логических блоков иллюзию фиктивного или логического накопителя, имеющего 64 головки, 32 сектора на дорожке и всего несколько сотен цилиндров. Именно с таким накопителем работает BIOS персонального компьютера. Накопители SCSI всегда выглядят совершенными. В таком накопителе при выполнении программы CHKDSK никогда не видны плохие секторы. Причина этого скрыта в интеллектуальном интерфейсе SCSI-ведомого: 1. При начальной подготовке накопитель SCSI проверяет каждую ячейку, в которой он может хранить данные, и отвергает ячейки с дефектами. Остальным ячейкам назначаются адреса логических блоков. 2. В процессе эксплуатации многие накопители SCSI осуществляют контроль работы диска, и если какой-то сектор начинает портиться, накопитель перемещает содержащиеся в нем данные в ближайший запасной сектор, не извещая об этом пользователя (точнее, главный адаптер SCSI). Про такие накопители говорят, что они поддерживают "горячий ремонт" (hot fixes). Стандарт SCSI-1 в настоящее время устарел и ему на смену пришли следующие версии SCSI-2 и SCSI-3. 9.2.Стандарты SCSI-2 и SCSI-3 Стандарт SCSI-2 Официальный документ стандарта SCSI-2 называется ANSI X3.131-1994. Этот стандарт представляет собой улучшенную версию предыдущего стандарта SCSI-1. Расширенный набор команд использует для адресации блоков 32 разряда и для счётчика блоков - 16 разрядов. С появлением 16 и 32-разрядных процессоров был разработан Wide SCSI-2, который может работать с 16 и 32-разрядными данными, кроме того, была увеличена тактовая частота обмена примерно в 2 раза за счет сокращения критических временных параметров шины и применения новейших БИС (FAST SCSI). Увеличение тактовой частоты повысило производительность шины до 10 Мбайт/с, что при одновременном увеличении разрядности обеспечит производительность шины 40 Мбайт/с. (табл. 9.4). Таблица 9.4 Шина [бит] SCSI-1 [8] SCSI-2 [16] SCSI 2 [32] Модификация SCSI Стандарт Fast 5 MB/s 10 MB/s 10 MB/s 20 MB/s 20 MB/s 40 MB/s Тип кабеля A P P+Q 109 Примечание: Fast реализуется при увеличении тактовой частоты обмена в 2 раза за счет применения новейших БИС. Расширенная шина SCSI-2 отличается от стандартной шины SCSI-1 тем, что является 16-разрядной или 32-разрядной. Стандартом SCSI-1 обусловлено, что главное устройство, например, основной адаптер, может выдавать в адрес каждого устройства только по одной команде. Стандарт SCSI-2 позволяет отправлять в каждое устройство до 256 команд; они накапливаются в нем, обрабатываются, и лишь затем от него на шину SCSI поступает ответ. Принимающее устройство может изменить порядок выполнения принятых команд для того, чтобы наиболее эффективно на них реагировать. Эта возможность особенно полезна при работе в многозадачной операционной системе, например, OS/2 или Windows NT. В качестве основы стандарта SCSI-2 была принята уже оформившаяся общая система команд Common Command Set (CCS) - это набор из 18 базовых команд SCSI. Система CCS разрабатывалась для жестких дисков и в ней не предусматривались команды для управления другими устройствами. В SCSI-2 многие старые команды откорректированы и добавлены некоторые новые (для накопителей CD-ROM, оптических устройств, сканеров, коммуникационных устройств, съёмных жестких дисков и т.п.). Стандарт SCSI-3 SCSI-3 состоит из нескольких стандартов. Стандарт SPI (SCSI Parallel Interface) определяет взаимодействие между параллельными устройствами SCSI. Существует несколько версий этого стандарта: SPI, SPI-2, SPI-3 и SPI-4. Первые три версии опубликованы, а четвертая пока определена как предварительная. Различные термины, описываемые современными стандартами SPI, представлены в табл. 9.5. Таблица 9.5 Стандарт Распространенное Соответствует Реальная SCSI-3 название технологии скорость, MB/s SPI Ultra SCSI Fast-20 20/40 SPI-2 Ultra2 SCSI Fast-40 40/80 SPI-3 Ultra3 SCSI Fast-80DT 160 SPI-4 Ultra4 SCSI Fast-160DT 320 SPI-5 Ultra5 SCSI Fast-320DT 640 9.3.Сравнение SCSI и ATA: достоинства и недостатки При сравнении производительностей ATA и SCSI-накопителей необходимо учитывать несколько факторов. 110 В большинстве случаев ATA -накопители при выполнении конкретной задачи или по результатам проверки с помощью программ аттестации оказываются лучше, чем аналогичные SCSI-модели. Кроме того, что немаловажно, они дешевле. Однако в некоторых ситуациях SCSI-накопители обеспечивают более высокую производительность и иногда превосходят ATA-накопители по удельной стоимости (на единицу емкости). Как уже известно, SCSI-накопитель - это тот же IDE-накопитель, но с добавленной микросхемой SBIC контроллера шины SCSI. Поскольку при использовании SCSI-устройства возникают задержки, связанные с прохождением сигналов и команд по шине SCSI, становится ясно, что ATA-накопитель с прямым выходом на системную шину работает быстрее. При передаче данных по шине SCSI появляются задержки, связанные с процедурами установления соглашения о синхронизации, выбора накопителя-адресата, запроса данных, окончания акта передачи и, наконец, преобразования логических адресов в «координаты», выраженные в понятиях цилиндров, головок и секторов. В результате интерфейс ATA имеет неоспоримое преимущество при последовательных обменах данными, характерных для однозадачной операционной системы. Архитектура SCSI-накопителей значительно сложнее, что дает им некоторые преимущества. Так как в каждом SCSI-накопителе есть свой встроенный контроллер диска, который может работать независимо от центрального процессора системы, компьютер может подавать команды одновременно всем имеющимся накопителям. Каждый накопитель может их запомнить, расставить в оптимальном для исполнения порядке, а затем выполнять одновременно со всеми другими накопителями. Данные могут быть накоплены в буфере, а затем при удобном случае очень быстро переданы в совместно используемую всеми устройствами шину SCSI. Хотя в ATA-накопителях тоже есть встроенные контроллеры, они не могут работать одновременно - накопление и упорядочивание команд (queuing) в них не предусмотрены. Как нетрудно заметить, у интерфейса SCSI есть некоторые преимущества перед ATA особенно в том, что касается возможностей расширения и работы с многозадачными ОС. Принято считать, что быстродействие интерфейса SCSI намного выше, чем IDE, но, к сожалению, чаще всего это не так. Ошибка заключается в том, что обычно производительность шин SCSI и ISA сравнивают “в чистом виде”. По 16-разрядной шине Ultra4 SCSI данные можно передавать со скоростью до 320 Мбайт/с, в то время как скорость обмена Ultra-ATA/133 IDE достигает 111 133 Мбайт/с. Конечно, при таком сравнении интерфейс SCSI выглядит явно предпочтительнее, но реальным фактором снижающим производительность системы является не чистое быстродействие шины, а ограниченные возможности блока HDA и контроллера диска. Контрольные вопросы 1. Каковы основные функции хост-контроллера SCSI? 2. Какие задачи решаются во время фаз захвата шины и адресации? 3. Какие фазы протокола шины SCSI составляют: а) фазы захвата шины и адресации и б) фазы передачи? 4. Благодаря какому свойству интерфейс SCSI может быть использован для любых блочных устройств? 5. Какое устройство на шине SCSI является инициатором передачи и какие функции передачи оно может выполнять? 6. Какие команды входят в состав обязательных команд для случая НМД? 112 Литература 1. Лю Ю-Чжен, Гибсон Г. Микропроцессоры семейства 8086/8088. - М.: Радио и связь,1987. 2. Пескова С.А. и др. Центральные и периферийные устройства электронных вычислительных средств: учебник для вузов /под ред. О.П. Глудкина. - М.: Высшая школа, 1991. 3. Гладышев Ю.С. Периферийные устройства вычислительных систем: учебное пособие. - М.: МГТУ ГА, 2006. 4. Скотт Мюллер. Модернизация и ремонт персональных компьютеров /пер. с англ. - М.: ООО “И.Д. Вильямс”, 2009. 5. Григорьев В.Л. Видео-системы ПК фирмы IBM. - М.: Радио и связь,1993. 6. Гудмен Джон. Секреты жесткого диска. - К: Диалектика, 1994. 7. Ларионов А.М., Горнец Н.Н. Периферийные устройства в вычислительных системах: учебное пособие. - М.: Высшая школа, 1991. 8. Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT. - M.: Финансы и статистика, 1992. 113 Содержание Введение………………………………………………………………………… 1. Клавиатура........................................................................................................ 1.1. Структурная схема клавиатуры AT…………………………………… 1.2. Типы кодов клавиатуры………………………………………………... 1.3. Форматы данных клавиатуры……………………………………........ 1.4. Процедуры ОС для работы с клавиатурой…………………………… 1.5. Буфер клавиатуры…………………………………………………….. 1.6. USB клавиатура………………………………………………………. 1.7. Примеры программирования………………………………………… Контрольные вопросы…………………………………………………….. 2. Устройства печати…………………………………………………………. 2.1. Классификация и основные требования к ПчУ……………………... 2.2. ПППчУ………………………….. Технологии печатающих устройств и способы регистрации…......... 2.3. Лазерный принтер……………………………………………………... 2.4. Языки принтера PCL и PostScript…………………………………….. 2.5. Системы обработки текста……………………………………………. Контрольные вопросы………………………………………………………. 3. Видеосистемы............................................................................................. 3.1. Введение……………………………………………………………… 3.2. Структура видеоадаптера…………………………………………. 3.3. Текстовый режим работы видеосистемы…………………………. 3.4. Схема преобразования цветов…………………………………….. 3.5. Графический режим………………………………………………… 3.6. Регистр состояния…………………………………………………… 3.7. Технология плазменных мониторов…………………………........ 3.8. Жидкокристаллический LCD дисплей…………………………….. Контрольные вопросы…………………………………………………….. 4. Устройства внешней памяти. Накопители на магнитных дисках... 4.1. Основные характеристики и способы записи информации……….... 4.2. Физические основы регистрации информации на подвижном носителе………………………………………………………………… 4.3. Способы записи информации на магнитном носителе……………… 4.4. Рост плотности записи за 45 лет……………………………………… Контрольные вопросы………………………………………………………. 5. Накопители на гибких магнитных дисках (НГМД).............................. 5.1. Физическая конструкция гибкого диска…………………………….. 5.2. Форматы дорожки и сектора………………………………………….. 5.3. Функциональная схема НГМД……………………………………….. 5.4. Организация типичного контроллера НГМД………………………... 3 4 4 6 7 8 9 11 12 13 13 13 13 16 23 24 25 25 25 26 31 34 37 40 40 44 53 53 53 55 58 63 65 66 66 68 68 69 114 6. 7. 8. 9. 5.5. Контроллер прямого доступа к памяти (КПДП) 8237 фирмы Intel… 70 5.6. Контроллер НГМД 8272А фирмы Intel………………………………. 72 Контрольные вопросы………………………………………………………. 76 Накопители на жёстких магнитных дисках (НЖД)………………….. 76 6.1. Как устроен винчестер………………………………………………. 76 6.2. Путь данных между НЖД и ОЗУ…………………………………….. 78 6.3. Основные физические и логические параметры ЖД……………….. 79 6.4. Физические ограничения BIOS на ёмкость диска…………………. 83 6.5. Ограничения операционной системы на ёмкость диска………….. 84 6.6. Отображение секторов………………………………………………… 85 6.7. Повышение производительности ЖД с помощью чередования 85 секторов, перекоса головок и перекоса цилиндров……………….. Контрольные вопросы……………………………………………………. 87 Интерфейс ATA/IDE, SATA..................................................................... 87 7.1. Происхождение и типы интерфейсов IDE………………………….. 87 7.2. Подключение IDE-устройства к шине AT BUS……………………. 92 7.3. Интерфейс Serial ATA (SATA)……………………………………… 95 7.4. Физический интерфейс SATA……………………………………… 96 97 Контрольные вопросы…………………………………………………… Избыточный массив независимых дисковых накопителей (RAID)……………………………………………………………………….. 98 8.1. Уровни RAID и их свойства……………………………………….. 98 8.2. Сфера применения массивов RAID……………………………….. 100 Контрольные вопросы…………………………………………………….. 102 Интерфейс малых компьютерных систем (SCSI)................................ 102 9.1. Стандарт SCSI-1…………………………………………………….. 103 9.2. Стандарты SCSI-2, SCSI-3…………………………………………. 108 9.3. Сравнение SCSI и ATA: достоинства и недостатки……………... 109 Контрольные вопросы…………………………………………………… 111 Литература……………………………………………………………………..112