CHS-трансляция со сдвигом разряда оперирует номерами цилиндров и головок, не изменяя при этом номер сектора. В качестве основы принимается число физических (переданных диском) цилиндров и головок, которое с помощью несложных операций деления и умножения преобразуется в измененные номера цилиндров и головок. Количество секторов, приходящихся на каждую дорожку, не транслируется и передается в неизмененном виде. Математические операции деления и умножения фактически выполняются в программном обеспечении базовой системы ввода-вывода путем смещения разрядов в адресе CHS, поэтому в данном случае используется термин "смещение/сдвиг разряда".
При использовании CHS-трансляции со сдвигом разряда сообщенные диском (физические) параметры предаются как P-CHS, а логические параметры, измененные BIOS, передаются в виде L-CHS. После установки соответствующих значений в программе настройки параметров BIOS происходит автоматическое преобразование логических адресов CHS (L-CHS) в физические адреса CHS (P-CHS) на уровне базовой системы ввода-вывода. Это дает возможность операционной системе посылать команды в BIOS, используя логические параметры L-CHS, которые при обращении базовой системы ввода-вывода к накопителю с помощью команд АТА автоматически преобразуются в физические параметры P-CHS. Правила вычисления параметров CHS-трансляции со сдвигом разряда приведены в представленной ниже таблице.
Правила CHS-трансляции со сдвигом разряда
Физические (переданные диском) цилиндры |
Физические головки |
Логические цилиндры |
Логические головки |
Максимальная емкость |
1 < C <= 1 024 |
1 < H <= 16 |
С = С |
Н = Н |
528 Мбайт |
1 024 < C <= 2 048 |
1 < H <= 16 |
С = С/2 |
Н = Нх2 |
1 Гбайт |
2 048 < C <= 4 096 |
1 < H <= 16 |
С = С/4 |
Н = Нх4 |
2,1 Гбайт |
4 096 < C <= 8 192 |
1 < H <= 16 |
С = С/8 |
Н = Нх8 |
4,2 Гбайт |
8 192 < C <= 16 384 |
1 < H <= 16 |
С = С/16 |
Н = Нх16 |
8,4 Гбайт |
Примечание. Количество секторов, переданное дисководом, не транслируется.
При использовании таких операционных систем, как ТЭОЗ/УПпЭх/Ые, количество логических головок не может превышать 255.
CHS-трансляция со сдвигом разряда основывается на делении количества физических цилиндров на число 2, что позволяет преодолеть существующее ограничение BIOS INT13h (количество цилиндров не должно превышать 1 024), и последующем умножении количества головок на то же число, благодаря чему общее количество секторов остается неизменным. Как показано ниже, степень числа 2, используемая в качестве делителя, зависит от количества цилиндров.
Ниже приведен пример CHS-трансляции со сдвигом разряда.
Физические Логические параметры CHS со
параметры CHS сдвигом разряда
Цилиндров Головок Секторов на дорожке |
8 000 |
1 000 |
Итого секторов |
8 064 000 |
8 064 000 |
Итого байт Мегабайт |
4 128 768 000 4 129 |
4 128 768 000 4 129 |
Mebibytes (MiB) |
3 938 |
3 938 |
Гигабайт |
4,13 |
4,13 |
Gibibytes (GiB) |
3,85 |
3,85 |
В этом примере приведен диск, содержащий 8 ООО цилиндров и 16 головок. Физическое количество цилиндров больше ограничения в 1 024 цилиндра, накладываемого BIOS, поэтому при выборе CHS-трансляции со сдвигом разряда BIOS делит количество цилиндров на 2, 4, 8 или 16, уменьшая его до 1 024. В данном случае количество цилиндров делится на 8, в результате чего получено новое число логических цилиндров, равное 1 ООО, которое не превышает установленного ограничения (1 О24). После этого число головок умножается на ту же величину, в результате чего получается количество логических головок, равное 128, что также ниже ограничения, установленного BIOS.