Интерфейс IDE


Технические детали - часть 5


Команды Read Multiple Command (0xC4) и Write Multiple Command (0xC5) являются командами на уровне диска и позволяют передавать несколько секторов данных без использования линии запроса прерывания IRQ на диске, сообщающей процессору о запросе от винчестера.

Линия IRQ используется в тех случаях, когда:

  • была введена команда чтения и запрошенные данные находятся в буфере диска, готовые к передаче хосту;

  • была введена команда записи и данные переданы в буфер диска;

    если кэширование при записи запрещено, линия IRQ не будет освобождена до тех пор, пока все данные не будут записаны на диск.

При обычном чтении или записи прерывания могут постоянно приостанавливать работу CPU и, в зависимости от процессора и обрабатываемой задачи (многозадачная ОС, Unix, и т.п.), может возникать та или иная задержка при обработке запросов диска. Множественное чтение/запись позволяет передавать большое число секторов (от 2 до 128) в один прием, обеспечивая ускорение операций до 30%.

В однозадачных системах, подобных DOS, любое увеличение производительности сверх нескольких процентов обычно говорит о плохом управлении кэш-буферами для части диска.

Замечание:

размер блока, оптимальный для скорости обмена с диском, может не быть оптимальным для производительности системы в целом! Например, в файловой система DOS (FAT) предпочтительный размер блока равен размеру кластера на диске.

Что такое LBA?


Режим LBA использует линейную адресацию секторов, начиная с сектора 1, головки 0, цилиндра 0 как LBA 0 и заканчивая последним физическим сектором диска, который, например, на стандартном диске 540 Мб имеет номер LBA 1065456. Эта новинка появилась в ATA-2, но такая адресация всегда использовалась в стандарте SCSI.

LBA уменьшает загрузку CPU поскольку операционная система адресует сектора линейно (LBA), и эти адреса обычно пересчитываются в CHS (цилиндр-головка-сектор) для обращения к диску. При использовании же LBA, пересчета адресов не требуется.

Что общего и в чем различия между ATAPI и ATA(-2)?




Начало  Назад  Вперед



Книжный магазин