Иинтерфейс IDE/ATA

Автор работы: Пользователь скрыл имя, 08 Сентября 2013 в 14:04, курсовая работа

Краткое описание

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

Содержание

Введение 4
1. Жесткий диск и принцип его работы 5
2. Интерфейс IDE/ATA 7
2.1 Эволюция интерфейса 7
2.2 Адресация устройств 8
2.3 Назначение контактов разъема 9
2.4 Сигналы интерфейса ATA IDE 10
2.5 Протокол взаимодействия хоста и устройства 15
2.6 Протоколы и режимы передачи данных 18
3. Алгоритм, реализующий интерфейс IDE 22
4. Программа для работы с жестким диском 24
Библиографический список 27

Прикрепленные файлы: 1 файл

Moy_kursach.doc

— 353.00 Кб (Скачать документ)

Для режимов  определены допустимые параметры временной  диаграммы цикла обмена.

Таблица 2 – Параметры режимов передачи (PIO mode)

PIO mode

Минимальное время  цикла (нс)

Скорость передачи (Мбайт/с)

Интерфейс

0

600

3,3

ATA

1

383

5,2

ATA

2

240

8,3

ATA

3

180

11,1

E-IDE, АТА-2 (используется IORDY)

4

120

16,6

E-IDE, Fast АТА-2 (используется IORDY)


 

Обмен PIO программно реализуется с помощью инструкций ввода/вывода строк REP INS или REP OUTS с занесенным в регистр СХ количеством слов (или байт) в передаваемом блоке. Эти инструкции обеспечивают максимально возможную скорость обмена для данного процессора и системной шины. «Обуздать» процессор в соответствии с выбранным режимом входит в задачу адаптера АТА, который использует для удлинения цикла сигнал готовности шины (для ISA – IOCHRDY). Традиционные режимы 0, 1 и 2 имеют временные параметры, фиксируемые только хост-адаптером. Для прогрессивных режимов АТА-2 (PIO Mode 3 и старше) устройство может затормозить обмен, используя сигнал готовности IORDY. Программный обмен на все время передачи блока занимает и процессор, и системную шину.

Обмен по каналу DMA занимает исключительно шины ввода/ вывода и памяти. Процессору требуется  выполнить только процедуру инициализации  канала, после чего до прерывания от устройства в конце передачи блока он свободен (этим могут воспользоваться многозадачные системы). Стандартные каналы DMA шины ISA для интерфейса АТА практически не используются из-за низкой пропускной способности.

Высокопроизводительные адаптеры АТА могут иметь собственные более эффективные контроллеры. Режимы обмена по каналу DMA бывают одиночными и множественными.

При одиночном  режиме (SingleWord DMA) устройство для передачи каждого слова вырабатывает сигнал запроса DMARQ и сбрасывает его по сигналу DMACK#, подтверждающему цикл обмена.

При множественном  режиме (Multiword DMA) на сигнал DMARQ хост отвечает потоком циклов, сопровождаемых сигналами DMACK#. Если устройство не справляется  с потоком, оно может приостановить  его снятием сигнала DMARQ, a по готовности установить его снова. Множественный режим позволяет развить более высокую скорость передачи.

Новейшее достижение – режим Ultra DMA, позволяющий достигнуть скорости передачи 33 Мбайт/с и обеспечить достоверность передачи, чего не делалось ни в PIO, ни в стандартных режимах DMA. Стандартом АТА-4 определено 3 режима Ultra DMA (0, 1 и 2), выбор режима осуществляется командой SetFeatures.

В режимах Ultra DMA сигналы DMARQ и DACK# сохраняют свое назначение, а вот смысл сигналов DIOR#, DIOW# и IORDY на время передачи пакета (Ultra DMA Burst) существенно меняется.

В пакете данные на шине сопровождаются стробом, генерируемым источником данных, причем для синхронизации  используются оба перепада сигналов. Это позволяет повысить пропускную способность шины, не увеличивая частоту переключений сигналов сверх 8,33 с-1 (этот предел для обычного кабеля достигается в режиме РЮ Mode 4 и Multiword DMA Mode 2).

Каждое переданное слово участвует в подсчете CRC-кода, который передается в конце пакета. Подсчет ведется и источником данных, и приемником. При несовпадении принятого и ожидаемого кода фиксируется ошибка передачи.

Передача в  пакете может приостанавливаться, если приемник снимет сигнал готовности (DDMARDY или HDMARDY). Передача пакета может прекращаться по инициативе устройства (снятием сигнала) или хоста (сигналом STOP). Противоположная сторона должна подтвердить окончание цикла сигналом STOP или DMARQ соответственно.

Правильный  выбор режима обмена обеспечивает надежность и производительность. Все устройства поддерживают режим PIO Mode 0, в котором считывается блок параметров идентификации. В блоке имеются поля, описывающие режим обмена по умолчанию и более эффективные режимы обмена, поддерживаемые устройством. Командой SetFeatures можно изменить параметры режима. Иногда накопитель не обеспечивает надежной передачи данных в заявленном высокоскоростном режиме. Если данные начинают пропадать, первым делом следует понизить режим обмена.

Параметры стандартных  режимов обмена по DMA приведены в  таблице (Таблица 3).

Таблица 3 – Параметры циклов DMA для интерфейса ATA

Режим

Минимальное время  цикла (нс)

Скорость передачи (Мбайт/с)

Singleword DMA Mode 0

960

2,08

Singleword DMA Mode 1

480

4,16

Singleword DMA Mode 2

240

8,33

Multiword DMA Mode 0

480

4,12

Multiword DMA Mode 1

150

13,3

Multiword DMA Mode 2

120

16,6

Ultra DMA Mode 0

240[1]

16,6

Ultra DMA Mode 1

160[1]

25

Ultra DMA Mode 2

120[1]

33


  1. В пакете данных режима Ultra DMA за каждый такт передаются два слова данных, один по фронту синхронизирующего сигнала, другой – по спаду.

 

BIOS определяет  режим обмена с каждым устройством  с учетом ограничений, заданных  в Setup. Старые диски, не сообщающие  своих параметров, могут не работать  со старшими режимами PIO. На одном  шлейфе (канале ATА) могут присутствовать устройства с разным режимом обмена – спецификация это допускает. Однако реально могут возникать аппаратные или программные ограничения.

Протокол обмена PIO хорош только для однозадачных ОС. Для многозадачных ОС больший  интерес представляет обмен по DMA, если, конечно, поддерживаемый режим обеспечивает приемлемую скорость обмена.

3. Алгоритм, реализующий интерфейс IDE

Обычный протокол взаимодействия хоста с устройством в режимах чтения и записи, представлен следующей блок-схемой (Рисунок 2):

 

Рисунок 2 – Блок схема протокола ATAIDE

4. Программа для работы с жестким диском

Программа написана на языке программирования Delphi. Она определяет количество дисков в системе и показывает серийный номер выбранного диска.

Исходныйкодпрограммы:

procedure TForm1.FormCreate(Sender: TObject);

var

ld: DWORD;

i: integer;

begin

vol:='C:\';

  ComboBox1.Clear;

ld := GetLogicalDrives;

for i := 0 to 25 do

begin

if (ld and (1 shl i)) <> 0 then

ComboBox1.AddItem(Char(Ord('A') + i) + ':\', Pointer(0));

end;

  Combobox1.ItemIndex:=0;

end;

 

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

vol:=ComboBox1.Text;

end;

 

functionSirealNumberDisk(disk: string): string;

var

VolumeName         : array [0..MAX_PATH-1] of Char;

FileSystemName     : array [0..MAX_PATH-1] of Char;

VolumeSerialNo     : DWord;

MaxComponentLength :DWord;

FileSystemFlags    : DWord;

functionGetReplaceCDNumber(num: String): String;

var

i, len: Integer;

begin

    Result:= '';

len:= Length(num);

iflen<> 8 then exit;

for i:= 1 to (len div 2) do begin

Dec(len);

       Result:= Result + num[len];

       Result:= Result + num[len+1];

Dec(len);

end;

end;

 

begin

GetVolumeInformation(PChar(disk), VolumeName, MAX_PATH, @VolumeSerialNo,

MaxComponentLength, FileSystemFlags, FileSystemName, MAX_PATH);

    Result:=IntToHex(Integer(VolumeSerialNo), 8);

if Win32Platform <> VER_PLATFORM_WIN32_NT then

        Result:=GetReplaceCDNumber(Result);

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  Label1.Caption:=SirealNumberDisk(vol);

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

Close();

end;

 

end.

 

После запуска  данная программа определяет количество физических IDEжёстких дисков, установленных в системе, после чего предлагает выбрать один из них. После выбора диска в выпадающем списке, программа считывает и выводит на экран его серийный номер (Рисунок 3).

 

 

Рисунок 3 – Результат работы программы

 

 

 

 

 

 

 

 

 

 

Заключение

Накопители  на жестких дисках прошли большой  эволюционный путь, начиная  от первого коммерческого жёсткого диска RAMAC, 5 Мб (он весил около тонны и занимал два больших ящика) до современных винчестеров объемом до 2Тб и размером во много раз меньше, чем у первой модели.  В настоящее время в продаже появились с «перпендикулярным» принципом записи. Метод перпендикулярной записи — это технология, при которой биты информации сохраняются в вертикальных доменах. Это позволяет использовать более сильные магнитные поля и снизить площадь материала, необходимую для записи 1 бита. Плотность записи у последних (на 2009 год) образцов — 400 Гбит на кв/дюйм.

Несмотря на широкое распространение накопителей  на flashпамятии появление твердотельных (SSD) накопителей, жёсткие диски всё ещё остаются вне конкуренции. Прежде всего, из-за привлекательного соотношения цена/объём и хорошей эффективности.

 

Библиографический список

  1. http://www.cyberguru.ru/hardware/drives/
  2. http://ru.wikipedia.org
  3. http://proklondike.com/
  4. http://bog.pp.ru/hard/ata.html
  5. http://lafox.net/docs/Command-Line-ru/install-hd-struc.html

 


Информация о работе Иинтерфейс IDE/ATA