Автор работы: Пользователь скрыл имя, 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
Для режимов определены допустимые параметры временной диаграммы цикла обмена.
Таблица 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 программно
реализуется с помощью
Обмен по каналу 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 |
BIOS определяет
режим обмена с каждым
Протокол обмена PIO хорош только для однозадачных ОС. Для многозадачных ОС больший интерес представляет обмен по DMA, если, конечно, поддерживаемый режим обеспечивает приемлемую скорость обмена.
Обычный протокол взаимодействия хоста с устройством в режимах чтения и записи, представлен следующей блок-схемой (Рисунок 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'
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(
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(
MaxComponentLength, FileSystemFlags, FileSystemName, MAX_PATH);
Result:=IntToHex(Integer(
if Win32Platform <> VER_PLATFORM_WIN32_NT then
Result:=GetReplaceCDNumber(
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close();
end;
end.
После запуска данная программа определяет количество физических IDEжёстких дисков, установленных в системе, после чего предлагает выбрать один из них. После выбора диска в выпадающем списке, программа считывает и выводит на экран его серийный номер (Рисунок 3).
Рисунок 3 – Результат работы программы
Заключение
Накопители на жестких дисках прошли большой эволюционный путь, начиная от первого коммерческого жёсткого диска RAMAC, 5 Мб (он весил около тонны и занимал два больших ящика) до современных винчестеров объемом до 2Тб и размером во много раз меньше, чем у первой модели. В настоящее время в продаже появились с «перпендикулярным» принципом записи. Метод перпендикулярной записи — это технология, при которой биты информации сохраняются в вертикальных доменах. Это позволяет использовать более сильные магнитные поля и снизить площадь материала, необходимую для записи 1 бита. Плотность записи у последних (на 2009 год) образцов — 400 Гбит на кв/дюйм.
Несмотря на
широкое распространение