| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| hddxt [2026/04/21 13:48] – [Диски MFM] admin | hddxt [2026/04/28 15:16] (current) – [XT-BUS и терминология] admin |
|---|
| * Ralf Brown Interrupt List http://www.ctyme.com/rbrown.htm раздел INT 13H | * Ralf Brown Interrupt List http://www.ctyme.com/rbrown.htm раздел INT 13H |
| * Исходники BIOS из [[http://wiki.sensi.org/download/doc/IBM_5155_5160_Technical_Reference_6280089_MAR86.pdf|IBM PC XT Technical Reference]] Section 5 | * Исходники BIOS из [[http://wiki.sensi.org/download/doc/IBM_5155_5160_Technical_Reference_6280089_MAR86.pdf|IBM PC XT Technical Reference]] Section 5 |
| | * https://bitsavers.org/pdf/westernDigital/pc_disk_controller/ |
| * https://en.wikipedia.org/wiki/Booting#Boot_sequence_of_IBM_PC_compatibles | * https://en.wikipedia.org/wiki/Booting#Boot_sequence_of_IBM_PC_compatibles |
| |
| ===== Геометрия ===== | ===== Геометрия ===== |
| {{ ibm_hdd_1.jpg?nolink&200}} | {{ ibm_hdd_1.jpg?nolink&200}} |
| Как уже написано выше, диск MFM с физической точки зрения состоит из NNN дорожек (Cylinders) и YY головок (Heads) и "свободного" пространства на дорожке для размещения секторов (Sectors). Так определяется "геометрия" диска C/H/S (Cylinders/Heads/Sectors). Возникает два вопроса: | Как уже написано выше, диск MFM с __физической__ точки зрения состоит из NNN дорожек (Cylinders) и YY головок (Heads) и "свободного" пространства на дорожке для размещения секторов (Sectors). Так определяется "геометрия" диска C/H/S (Cylinders/Heads/Sectors). Возникает два вопроса: |
| |
| * Каким образом дорожка форматируется на сектора ? | * Каким образом дорожка форматируется на сектора ? |
| Очень большое количество легенд связано с RLL дисками и контроллерами. Давайте разберемся. | Очень большое количество легенд связано с RLL дисками и контроллерами. Давайте разберемся. |
| |
| Начнем с того, что [[wp>Run-length_limited|RLL]] - это на самом деле такой метод кодирования битового потока. Он хорош тем, что уменьшает количество перепадов (фронтов) в потоке. Для наиболее широко распространенного в контроллерах XT метода RLL(2,7) скорость уменьшается практически на 50%. Это позволяет поднять битовую скорость при сохранении той же полосы. В большинстве RLL контроллеров битовая скорость составляет 7.5Mbit/s, причем "скорость перепадов" и соответственно спектр сигнала получается не намного больше, чем у MFM на 5Mbit/s. Это позволяет записать больше информации на жесткий диск, но предъявляет повышенные требования к самому жесткому диску (нужен минимальный джиттер - неравномерное вращение "блина", качественный маршевый двигатель, подшипники и головки, минимальные искажения в тракте чтения/записи) и к контроллеру (схема ФАПЧ). | Начнем с того, что [[wp>Run-length_limited|RLL]] - это на самом деле такой метод кодирования битового потока. Он хорош тем, что уменьшает частоту переходов (фронтов и спадов) в потоке. Для наиболее широко распространенного в контроллерах XT метода RLL(2,7) частота переходов уменьшается практически на 50%. Это позволяет поднять битовую скорость при сохранении той же полосы. В большинстве RLL контроллеров битовая скорость составляет 7.5Mbit/s, причем "скорость переходов" и соответственно спектр сигнала получается не намного больше, чем у MFM на 5Mbit/s. Это позволяет записать больше информации на дорожку жесткого диска, но предъявляет повышенные требования к самому жесткому диску (нужен минимальный джиттер - неравномерное вращение "блина", качественный маршевый двигатель, подшипники и головки, минимальные искажения в тракте чтения/записи) и к контроллеру (хорошая схема ФАПЧ). |
| |
| Емкость нетрудно прикинуть. При скорости вращения 3600 RPM емкость дорожки составляет 1/60 * 7500000 = 125000 бит = 15625 байт то есть примерно 30.5 секторов по 512 байт. Из за требований организации промежутков и заголовков стабильно удается записать 26 секторов. | Емкость нетрудно прикинуть. При скорости вращения 3600 RPM емкость дорожки составляет 1/60 * 7500000 = 125000 бит = 15625 байт то есть примерно 30.5 секторов по 512 байт. Из за требований организации промежутков и заголовков стабильно удается записать 26 секторов. |
| {{ :interleave-factor.jpg?nolink&300|}} | {{ :interleave-factor.jpg?nolink&300|}} |
| |
| Для чего придумали интерлив (чередование) ? Дело в том, что машины тогда были довольно медленные. XT вместе с контроллером просто не успевала обрабатывать поступающую информацию, и сектор на вращающемся диске успевал "убежать" из под считывающей головки. Чтобы прочитать следующий сектор N+1, надо было ждать целый оборот диска. Идея пришла очень простая. Поскольку все сектора имеют внутри номер, то сектора можно записывать не подряд. Например, у нас на дорожке 17 секторов, и нам надо прочитать сектора 2 и 3. Записываем сектора в таком порядке: | Для чего придумали интерлив (чередование) ? Дело в том, что машины тогда были довольно медленные. XT вместе с контроллером просто не успевала обрабатывать поступающую информацию, и сектор на вращающемся диске успевал "убежать" из под считывающей головки. Чтобы прочитать следующий сектор N+1, надо было ждать целый оборот диска. Идея пришла очень простая. Поскольку все сектора имеют внутри номер, то сектора можно записывать __не подряд__. Например, у нас на дорожке 17 секторов, и нам надо прочитать сектора 2 и 3. Записываем сектора в таком порядке: |
| |
| 1 7 13 2 8 14 3 9 15 4 10 16 5 11 17 6 12 | 1 7 13 2 8 14 3 9 15 4 10 16 5 11 17 6 12 |
| Большое количество вопросов связано с дисками XT-BUS. На самом деле, предком XT-BUS можно считать устройство типа [[wp>Hardcard]] (или WD FileCard). После изобретения малогабаритных 3-дюймовых жестких дисков некоторые фирмы выпустили ISA-8 карточки, содержащие контроллер и диск на одной раме (или длинной плате). Причем иногда электроника накопителя и контроллера настолько сливалась, что кабелей ST-506/412 просто не было. Поэтому, вполне логично было выпустить диски, имеющие **шлейф**, в котором фактически передается минимальный вариант шины ISA-8, а контроллер расположен прямо на плате электроники диска (так называемый XT Attachment). | Большое количество вопросов связано с дисками XT-BUS. На самом деле, предком XT-BUS можно считать устройство типа [[wp>Hardcard]] (или WD FileCard). После изобретения малогабаритных 3-дюймовых жестких дисков некоторые фирмы выпустили ISA-8 карточки, содержащие контроллер и диск на одной раме (или длинной плате). Причем иногда электроника накопителя и контроллера настолько сливалась, что кабелей ST-506/412 просто не было. Поэтому, вполне логично было выпустить диски, имеющие **шлейф**, в котором фактически передается минимальный вариант шины ISA-8, а контроллер расположен прямо на плате электроники диска (так называемый XT Attachment). |
| |
| Таким образом, XT-BUS шина - это просто "удлинитель" урезанной шины ISA-8. На XT-BUS-шлейф выведены "младшие" 2 линии адреса, 8 бит данных, сигналы дешифрации, Reset, а также заведены сигналы одного канала DMA и один IRQ. По набору команд, контроллер "внутри" жесткого диска XT-BUS практически полностью соответствует ISA-8 контроллеру Xebec или WD1002-WX и даже располагается на тех же адресах (320h или 324h). BIOS контроллера располагается "снаружи", на плате контроллера (а не внутри диска), в отдельной ПЗУ или входит в состав BIOS-а материнской платы (на EuroXT). | Таким образом, XT-BUS шина - это просто "удлинитель" урезанной шины ISA-8. На XT-BUS-шлейф выведены "младшие" 2 линии адреса, 8 бит данных, сигналы дешифрации, Reset, а также заведены сигналы одного канала DMA (обычно DMA 3) и один IRQ. По набору команд, контроллер "внутри" жесткого диска XT-BUS практически полностью соответствует ISA-8 контроллеру Xebec или WD1002-WX и даже располагается на тех же адресах (320h или 324h). BIOS контроллера располагается "снаружи", на плате контроллера (а не внутри диска), в отдельной ПЗУ или входит в состав BIOS-а материнской платы (на EuroXT). |
| |
| XT-BUS **полностью НЕсовместим** с AT-BUS IDE, хотя использует такой же 40-жильный шлейф и IDC-коннекторы. Это становится понятно хотя бы по той причине, что "внутри" XT-BUS диска контроллер имитирует 8-битный WD1002-WX, а внутри AT-BUS IDE диска - 16-битный WD1003-WA с TaskFile. | XT-BUS **полностью НЕсовместим** с AT-BUS IDE, хотя использует такой же 40-жильный шлейф и IDC-коннекторы. Это становится понятно хотя бы по той причине, что "внутри" XT-BUS диска контроллер имитирует 8-битный WD1002-WX, а внутри AT-BUS IDE диска - 16-битный WD1003-WA с TaskFile. |
| Наконец, термин **AT-BUS** относится более к электрическим и логическим протоколам шлейфа и применяется для обозначения того факта, что электрические сигналы и протокол обмена являются производными от параметров шины ISA-16 компьютера IBM PC AT 5170. Термин не стандартизован. Аналогично, **XT-BUS** относится к шлейфу для подключения диска к 8-битной шине ISA-8. | Наконец, термин **AT-BUS** относится более к электрическим и логическим протоколам шлейфа и применяется для обозначения того факта, что электрические сигналы и протокол обмена являются производными от параметров шины ISA-16 компьютера IBM PC AT 5170. Термин не стандартизован. Аналогично, **XT-BUS** относится к шлейфу для подключения диска к 8-битной шине ISA-8. |
| |
| Также следует упомянуть разработку "[[http://www.vcfed.org/forum/showthread.php?29202-XTIDE-Rev2|XT IDE]]" c Vintage Computer Forum. Это контроллер для шины ISA-8 для подключения обычных 16-битных IDE/ATA дисков. Название авторское и применяется именно для этой разработки. | Также следует упомянуть разработку "[[http://www.vcfed.org/forum/showthread.php?29202-XTIDE-Rev2|XT IDE]]" c Vintage Computer Forum. Это контроллер для шины ISA-8 для подключения обычных 16-битных IDE/ATA дисков. Название авторское и применяется именно для этой разработки. Для него написан великолепный opensource XT-IDE Universal BIOS (XUB), имеющий кучу опций и поддерживаюший целый ряд контроллеров. |
| |
| К сожалению, сейчас нередко путают **XT-BUS** и **XT-IDE**. | К сожалению, сейчас нередко путают **XT-BUS** и **XT-IDE**. |
| * [[http://support.mdl.ru/pc_compl/doc/hdd/atafq/atafq.html|Частичный перевод]] FAQ | * [[http://support.mdl.ru/pc_compl/doc/hdd/atafq/atafq.html|Частичный перевод]] FAQ |
| * [[https://ftp.seagate.com/acrobat/reference/111-1c.pdf|Seagate ATA Interface Reference Manual]] | * [[https://ftp.seagate.com/acrobat/reference/111-1c.pdf|Seagate ATA Interface Reference Manual]] |
| | * [[https://www.youtube.com/watch?v=3rgaJqYOPSg|8-bit IDE-XT Hard Drives Demystified]] |
| |
| ===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== |