Запись с групповым кодированием

редактировать

В информатике, запись с групповым кодированием или запись группового кода (GCR ) относится к нескольким различным, но связанным методам кодирования для магнитных носителей. Первый, используемый в 6250 магнитной ленте с 1973 года, представляет собой код с исправлением ошибок в сочетании со схемой кодирования с ограниченной длиной серии (RLL), относящейся к группа. Остальные - это различные методы кодирования основного блока жесткого диска, а также гибких дисков, которые использовались в некоторых микрокомпьютерах до конца 1980-х годов. GCR - это модифицированная форма кода NRZI, но обязательно с более высокой плотностью переходов.

Содержание
  • 1 GCR для магнитной ленты
  • 2 GCR для жестких дисков
  • 3 GCR для дискеты
    • 3.1 Micropolis
    • 3.2 Micro Peripherals
    • 3.3 Durango
    • 3.4 Apple
    • 3.5 Commodore
    • 3.6 Sirius / Victor
    • 3.7 Brother
    • 3.8 Sharp
  • 4 Другое использует
  • 5 См. также
  • 6 Примечания
  • 7 Ссылки
  • 8 Дополнительная литература
  • 9 Внешние ссылки
GCR для магнитной ленты

Запись с групповым кодированием сначала использовалась для хранение данных на магнитной ленте на 9-дорожке катушечная лента. Этот термин был придуман во время разработки магнитной ленты IBM 3420 модели 4/6/8 и соответствующего устройства управления лентой модели 2, представленных в 1973 году. IBM ссылается на код исправления ошибок сам по себе как "групповая кодированная запись". Однако GCR стал относиться к формату записи ленты 6250 бит / дюйм (250 бит / мм) в целом, а позже к форматам, которые используют аналогичные коды RLL без кода исправления ошибок.

Для надежного чтения и записи на магнитную ленту необходимо соблюдать несколько ограничений для записываемого сигнала. Во-первых, два соседних должны быть разделены определенным расстоянием на носителе. Во-вторых, необходимо достаточно часто менять направление потока, чтобы часы считывателя синхронизировались с записанным сигналом; то есть сигнал должен быть самосинхронизирующимся и, что наиболее важно, поддерживать выходной сигнал воспроизведения на достаточно высоком уровне, поскольку он пропорционален плотности переходов потока. До лент с пропускной способностью 6250 бит на дюйм, ленты с разрешением 1600 бит на дюйм удовлетворяли этим ограничениям с использованием технологии, называемой фазовое кодирование (PE), которая была эффективна только на 50%. Для лент GCR 6250 бит / дюйм используется код (0, 2) RLL, или, более конкретно, 4/5 (0, 2) код блока. Этот код требует записи пяти бит на каждые четыре бита данных. Код структурирован таким образом, что не более двух нулевых битов (которые представлены отсутствием реверсирования потока) могут встречаться в строке, либо внутри кода, либо между кодами, независимо от того, какие данные были. Этот код RLL применяется независимо к данным, поступающим на каждую из девяти дорожек.

Из 32 пятибитовых комбинаций восемь начинаются с двух последовательных нулевых битов, шесть других заканчиваются двумя последовательными нулевыми битами, а еще один (10001) содержит три последовательных нулевых бита. При удалении шаблона "все единицы" (11111) из остатка остается 16 подходящих кодовых слов.

Код GCR RLL 6250 бит / дюйм:

4-битное значениеКод GCR
шестнадцатеричныйbinbinшестнадцатеричный
0x000001.10010x19
0x100011.10110x1B
0x200101.00100x12
0x300111.00110x13
0x401001.11010x1D
0x501011.01010x15
0x601101.01100x16
0x701111.01110x17
4-битное значениеGCR-код
шестнадцатеричныйbinbinшестнадцатеричный
0x810001.10100x1A
0x910010.10010x09
0xA10100.10100x0A
0xB10110.10110x0B
0xC11001.11100x1E
0xD11010.11010x0D
0xE11100.11100x0E
0x F11110,11110x0F

11 из полубайтов (кроме xx00 и 0001) имеют свой код, сформированный путем добавления дополнения старшего разряда ; т.е. abcd кодируется как aabcd. Другим пяти значениям назначаются коды, начинающиеся с 11. Полубайты формы ab00 имеют коды 11baa, то есть бит, обратный коду для ab11. Коду 0001 присваивается оставшееся значение 11011.

Из-за чрезвычайно высокой плотности ленты 6250 бит / дюйм, код RLL недостаточен для обеспечения надежного хранения данных. Поверх кода RLL применяется код с исправлением ошибок, называемый оптимальным прямоугольным кодом (ORC). Этот код представляет собой комбинацию дорожки четности и полиномиального кода, аналогичного CRC, но структурированного для исправления ошибок, а не для обнаружения ошибок. Для каждых семи байтов, записанных на ленту (до кодирования RLL), восьмой контрольный байт вычисляется и записывается на ленту. При чтении четность вычисляется для каждого байта и выполняется операция «исключающее ИЛИ» с содержимым дорожки четности, а полиномиальный контрольный код вычисляется и обрабатывается методом «исключающее ИЛИ» с полученным контрольным кодом, в результате получается два 8-битных кода. синдром слова. Если они оба равны нулю, данные не содержат ошибок. В противном случае логика исправления ошибок в контроллере ленты исправляет данные перед их пересылкой на хост. Код исправления ошибок может исправить любое количество ошибок в любой отдельной дорожке или в любых двух дорожках, если ошибочные дорожки могут быть идентифицированы другими способами.

В новых полудюймовых 18-дорожечных ленточных накопителях IBM, записывающих со скоростью 24000 бит / дюйм, 4/5 (0, 2) GCR был заменен более эффективным 8/9 (0, 3) код модуляции, отображающий восемь битов в девять бит.

GCR для жестких дисков

В середине 1970-х годов Sperry Univac, подразделение ISS работа с большими жесткими дисками для бизнеса мэйнфреймов с использованием группового кодирования.

GCR для гибких дисков

Как магнитные ленточные накопители, гибкие диски У дисков disk есть физические ограничения на интервал инверсий потока (также называемые переходами, представленные однобитами).

Micropolis

Предлагает GCR-совместимые дисководы и контроллеры гибких дисков (например, 100163-51-8 и 100163-52-6), Micropolis одобренное кодирование данных с групповой записью на 5-дюймовых 77-дорожечных дисководах для дискет для хранения двенадцати 512-байтовых секторов на дорожку с 1977 или 1978 года.

Микропериферийные устройства

(MPI) на рынке 5¼-дюймовые диски двойной плотности (такие как односторонние диски B51 и двусторонние диски B52) и решение для контроллера, реализующее GCR с начала 1978 года.

Durango

Durango В системах F-85 (представленных в сентябре 1978 г.) использовались односторонние 5¼-дюймовые дисководы для дискет 100 tpi, обеспечивающие 480 Кбайт с использованием запатентованного кодирования с групповым кодированием 4/5 высокой плотности. В машине использовался контроллер гибких дисков Western Digital FD1781, разработанный бывшим инженером Sperry ISS, с 77-дорожечными приводами Micropolis. В более поздних моделях, таких как серия Durango 800, это было расширено до двухстороннего варианта для 960 КБ (отформатировано 946 КБ) на дискету.

Apple

Для Apple II дисковод для гибких дисков, Стив Возняк изобрел контроллер гибких дисков, который (вместе с самим дисководом Disk II ) наложил два ограничения:

  • Между любыми двумя бит, может быть максимум один нулевой бит.
  • Каждый 8-битный байт должен начинаться с одного бита.

Самая простая схема для обеспечения соответствия этим ограничениям - это запись дополнительных "часов" переход перед каждым битом данных согласно дифференциальному манчестерскому кодированию или (цифровому) FM (частотная модуляция). Получившаяся реализация Apple, известная как 4-и-4-кодирование, позволяла записывать только десять 256-байтовых секторов на дорожку на 5 on-дюймовую дискету одинарной плотности. Он использует два байта для каждого байта.

Таблица кодирования 4 и 4
<103.10 <1011.1010 1011.1010 115>
ЗначениеКод
шестнадцатеричныйbinbinшестнадцатеричный
0x000000.00001010.1010 1010.10100xAA 0xAA
0x010000.00011010.1010 1010.10110xAA 0xAB
0x020000.00101010.1011 1010.10100xAB 0xAA
0x030000.00111010.1011 1010.10110xAB 0xAB
0x040000.01001010.1010 1010.11100xAA 0xAE
0x050000.01011010.1010 1010.11110xAA 0xAF
0x060000.01101010.1011 1010.11100xAB 0xAE
0x070000.01111010.1011 1010.11110xAB 0xAF
0x080000.10001010.1110 1010.10100xAE 0xAA
0x090000.10011010.1110 1010.10110xAE 0xAB
0x0A0000.10101010.1111 1010.10100xAF 0xAA
0x0B0000.10111010.1111 1010.1 0110xAF 0xAB
0x0C0000.11001010.1110 1010.11100xAE 0xAE
0x0D0000.11011010.1110 1010.11110xAE 0xAF
0x0E0000.11101010.1111 1010.11100xAF 0xAE
0x0F0000.11111010.1111 1010.11110xAF 0xAF
0x100001.00001010.1010 1011.10100xAA 0xBA
0x110001.00011010.1010 1011.10110xAA 0xBB
0x120001.00101010.1011 1011.10100xAB 0xBA
0x130001.00111010.1011 1011.10110xAB 0xBB
0x140001.01001010.1010 1011.11100xAA 0xBE
0x150001.01011010.1010 1011.11110xAA 0xBF
0x160001.01101010.1011 1011.1110>0xAB 0xBE
0x170001.01111010.1011 1011.11110xAB 0xBF
0x180001.10001010.1110 1011. 10100xAE 0xBA
0x190001.10011010.1110 1011.10110xAE 0xBB
0x1A0001.10101010.1111 1011.10100xAF 0xBA
0x1B0001.10111010.1111 1011.10110xAF 0xBB
0x1C0001.11001010.1110 1011.11100xAE 0xBE
0x1D0001.11011010.1110 1011.11110xAE 0xBF <279115>0x>0001.11101010.1111 1011.11100xAF 0xBE
0x1F0001.11111010.1111 1011.11110xAF 0xBF>0x200010.00001011.1010 1010.10100xBA 0xAA
0x210010.00011011.1010 1010.10110xBA 0xAB
0x220010.00101011.1011 1010.10100xBB 0xAA
0x230010.00111011.1011 1010.10110xBB 0xAB
0x240010.01001011.1010 1010.11100xBA 0xAE
0x250010.01011011.1010 1010.11110xBA 0xAF
0x260010.01101011.1011 1010.11100xBB 0xAE
0x270010.01111011.1011 1010.11110xBB 0xAF
0x280010.10001011.1110 1010.10100xBE 0xAA
0x290010.10011011.1110 1010.10110xBE 0xAB
0x2A0010.10101011.1111 1010.10100xBF 0xAA
0x 115>0010.10111011.1111 1010.10110xBF 0xAB
0x2C0010.11001011.1110 1010.11100xBE 0xAE
0x2D0010.11011011.1110 1010.11110xBE 0xAF
0x2E0010.11101011.1111 1010.11100xBF 0xAE
0x2F0010.11111011.1111 1010.11110xBF 0xAF
0x300011.00000xBA 0xBA
0x310011.00011011.1010 1011.10110xBA 0xBB
0x320011.00101011.1011 101 1.10100xBB 0xBA
0x330011.00111011.1011 1011.10110xBB 0xBB
0x340011.01001011.1010 1011.11100xBA 0xBE
0x350011.01011011.1010 1011.11110xBA 0xBF
0x360011.01101011.1011 1011.11100xBB 0xBE
0x370011.01111011.1011 1011.11110xBB 0xBF <279115>0x38>0011.10001011.1110 1011.10100xBE 0xBA
0x390011.10011011.1110 1011.10110xBE 0xBB
0x3A0011.10101011.1111 1011.10100xBF 0xBA
0x3B0011.10111011.1111 1011.10110xBF 0xBB
0x3C0011.11001011.1110 1011.11100xBE 0xBE
0x3D0011.11011011.1110 115 1011.1111>0xBE 0xBF
0x3E0011.11101011.1111 1011.11100xBF 0xBE
0x3F0011.11111011.1111 10 11.11110xBF 0xBF
<10 0101.11000x><103FF 0x9F0xAF 0x>0x60<103.10>1011.1010 1111 115>
ЗначениеCode
hexbinbinhex
0x400100.00001010.1010 1110.10100xAA 0xEA
0x410100.00011010.1010 1110.10110xAA 0xEB
0x420100.00101010.1011 1110.10100xAB 0xEA
0x430100.00111010.1011 1110.10110xAB 0xEB
0x440100.01001010.1010 1110.11100xAA 0xEE
0x450100.01011010.1010 1110.11110xAA 0xEF
0x460100.01101010.1011 1110.11100xAB 0xEE
0x470100.01111010.1011 1110.11110xAB 0xEF
0x480100.10001010.1110 1110.10100xAE 0xEA
0x490100.10011010.1110 1110.10110xAE 0xEB
0x4A0100.10101010.1111 1110.10100xAF 0xEA
0x4B0100.10111010.1111 1110.1 0110xAF 0xEB
0x4C0100.11001010.1110 1110.11100xAE 0xEE
0x4D0100.11011010.1110 1110.11110xAE 0xEF
0x4E0100.11101010.1111 1110.11100xAF 0xEE
0x4F0100.11111010.1111 1110.11110xAF 0xEF
0x500101.00001010.1010 1111.10100xAA 0xFA
0x51>0101.00011010.1010 1111.10110xAA 0xFB
0x520101.00101010.1011 1111.10100xAB 0xFA
0x530101.00111010.1011 1111.10110xAB 0xFB
0x540101.01001010.1010 1111.11100xAA 0xFE
0x550101.01011010.1010 1111.11110xAA 0xFF
0x560101.01101010.1011 1111.1110>0xAB 0xFE
0x570101.01111010.1011 1111.11110xAB 0xFF
0x580101.10001010.1110 1111. 10100xAE 0xFA
0x590101.10011010.1110 1111.10110xAE 0xFB
0x5A0101.10101010.1111 1111.10100xAF 0xFA
0x5B0101.10111010.1111 1111.10110xAF 0xFB
0x5C1010.1110 1111.11100xAE 0xFE
0x5D0101.11011010.1110 1111.11110xAE 0xFF0101.11101010.1111 1111.11100xAF 0xFE
0x5F0101.11111010.1111 1111.11110110.00001011.1010 1110.10100xBA 0xEA
0x610110.00011011.1010 1110.10110xBA 0xEB
0x620110.00101011.1011 1110.10100xBB 0xEA
0x630110.00111011.1011 1110.10110xBB 0xEB
0x640110.01001011.1010 1110.11100xBA 0xEE
0x650110.01011011.1010 1110.11110xBA 0xEF
0x660110.01101011.1011 1110.11100xBB 0xEE
0x670110.01111011.1011 1110.11110xBB 0xEF
0x680110.10001011.1110 1110.10100xBE 0xEA
0x690110.10011011.1110 1110.10110xBE 0xEB
0x6A0110.10101011.1111 1110.10100xBF 0xEA
0x 115>0110.10111011.1111 1110.10110xBF 0xEB
0x6C0110.11001011.1110 1110.11100xBE 0xEE
0x6D0110.11011011.1110 1110.11110xBE 0xEF
0x6E0110.11101011.1111 1110.11100xBF 0xEE
0x6F0110.11111011.1111 1110.11110xBF 0xEF
0x700111.00000xBA 0xFA
0x710111.00011011.1010 1111.10110xBA 0xFB
0x720111.00101011.1011 111 1.10100xBB 0xFA
0x730111.00111011.1011 1111.10110xBB 0xFB
0x740111.01001011.1010 1111.11100xBA 0xFE
0x750111.01011011.1010 1111.11110xBA 0xFF
0x760111.01101011.1011 1111.11100xBB 0xFE
0x770111.01111011.1011 1111.11110xBB 0xFF <279115>0x>0111.10001011.1110 1111.10100xBE 0xFA
0x790111.10011011.1110 1111.10110xBE 0xFB 0x7A0111.10101011.1111 1111.10100xBF 0xFA
0x7B0111.10111011.1111 1111.10110xBF 0xFB
0x7C0111.11001011.1110 1111.11100xBE 0xFE
0x7D0111.11011011.1110 1111.1111>0xBE 0xFF
0x7E0111.11101011.1111 1111.11100xBF 0xFE
0x7F0111.11111011.1111 11 11.11110xBF 0xFF
<103.10>111011.1010 1011 115>
ЗначениеCode
hexbinbinhex
0x801000.00001110.1010 1010.10100xEA 0xAA
0x811000.00011110.1010 1010.10110xEA 0xAB
0x821000.00101110.1011 1010.10100xEB 0xAA
0x831000.00111110.1011 1010.10110xEB 0xAB
0x841000.01001110.1010 1010.11100xEA 0xAE
0x851000.01011110.1010 1010.11110xEA 0xAF
0x861000.01101110.1011 1010.11100xEB 0xAE
0x871000.01111110.1011 1010.11110xEB 0xAF
0x881000.10001110.1110 1010.10100xEE 0xAA
0x891000.1001 115>1110.1110 1010.10110xEE 0xAB
0x8A1000.10101110.1111 1010.10100xEF 0xAA
0x8B1000.10111110.1111 1010.1 0110xEF 0xAB
0x8C1000.11001110.1110 1010.11100xEE 0xAE
0x8D1000.11011110.1110 1010.11110xEE 0xAF
0x8E1000.11101110.1111 1010.11100xEF 0xAE
0x8F1000.11111110.1111 1010.11110xEF 0xAF
0x901001.00001110.1010 1011.10100xEA 0xBA
0x911001.00011110.1010 1011.10110xEA 0xBB
0x921001.00101110.1011 1011.10100xEB 0xBA
0x931001.00111110.1011 1011.10110xEB 0xBB
0x941001.01001110.1010 1011.11100xEA 0xBE
0x951001.01011110.1010 1011.11110xEA 0xBF
0x961001.01101110.1011 1011.11100xEB 0xBE
0x971001.01111110.1011 1011.11110xEB 0xBF
0x981001.10001110.1110 1011. 10100xEE 0xBA
0x991001.10011110.1110 1011.10110xEE 0xBB
0x9A1001.10101110.1111 1011.10100xEF 0xBA
0x9B1001.10111110.1111 1011.10110xEF 0xBB
0x9C1001.11001110.1110 1011.11100xEE 0xBE
0x9D1001.11011110.1110 1011.11110xEE 0xBF <279115>0x9E>1001.11101110.1111 1011.11100xEF 0xBE
0x9F1001.11111110.1111 1011.11110xEF9 0xBF>0xA01010.00001111.1010 1010.10100xFA 0xAA
0xA11010.00011111.1010 1010.10110xFA 0xAB
0xA21010.00101111.1011 1010.10100xFB 0xAA
0xA31010.00111111.1011 1010.10110xFB 0xAB
0xA41010.01001111.1010 1010.11100xFA 0xAE
0xA51010.01011111.1010 1010.11110xFA 0xAF
0xA61010.01101111.1011 1010.11100xFB 0xAE
0xA71010.01111111.1011 1010.11110xFB 0xAF
0xA81010.10001111.1110 1010.10100xFE 0xAA
0xA91010.10011111.1110 1010.10110xFE 0xAB
0xAA1010.10101111.1111 1010.10100xFF 0xAA
0xAB1010.10111111.1111 1010.10110xFF 0xAB
0xAC1010.11001111.1110 1010.11100xFE 0xAE
0xAD1010.11011111.1110 1010.11110xFE 0xAF
0xAE1010.11101111.1111 1010.11100xFF 0xAE
0xAF1010.11111111.1111 1010.11110xFF 0xAF
0xB01011.00000xFA 0xBA
0xB11011.00011111.1010 1011.10110xFA 0xBB
0xB21011.00101111.1011 101 1.10100xFB 0xBA
0xB31011.00111111.1011 1011.10110xFB 0xBB
0xB41011.01001111.1010 1011.11100xFA 0xBE
0xB51011.01011111.1010 1011.11110xFA 0xBF
0xB61011.01101111.1011 1011.11100xFB 0xBE
0xB71011.01111111.1011 1011.11110xFB 0xBF <8279115>0x>1011.10001111.1110 1011.10100xFE 0xBA
0xB91011.10011111.1110 1011.10110xFE 0xBB
0xBA1011.10101111.1111 1011.10100xFF 0xBA
0xBB1011.10111111.1111 1011.10110xFF 0xBB
0xBC1011.11001111.1110 1011.11100xFE 0xBE
0xBD1011.11011111.1110 1011.1111>0xFE 0xBF
0xBE1011.11101111.1111 1011.11100xFF 0xBE
0xBF1011.11111111.1111 10 11.11110xFF 0xBF
ЗначениеCode
hexbinbinhex
0xC01100.00001110.1010 1110.10100xEA 0xEA
0xC11100.00011110.1010 1110.10110xEA 0xEB
0xC21100.00101110.1011 1110.10100xEB 0xEA
0xC31100.00111110.1011 1110.10110xEB 0xEB
0xC41100.01001110.1010 1110.11100xEA 0xEE
0xC51100.01011110.1010 1110.1111 115>0xEA 0xEF
0xC61100.01101110.1011 1110.11100xEB 0xEE
0xC71100.01111110.1011 1110.11110xEB 0xEF
0xC81100.10001110.1110 1110.10100xEE 0xEA
0xC91100.1001 115>1110.1110 1110.10110xEE 0xEB
0xCA1100.10101110.1111 1110.10100xEF 0xEA
0xCB1100.10111110.1111 1110.1 0110xEF 0xEB
0xCC1100.11001110.1110 1110.11100xEE 0xEE
0xCD1100.11011110.1110 1110.11110xEE 0xEF
0xCE1100.11101110.1111 1110.11100xEF 0xEE
0xCF1100.11111110.1111 1110.11110xEF 0xEF
0xD01101.00001110.1010 1111.10100xEA 0xFA <279115>0xD1>1101.00011110.1010 1111.10110xEA 0xFB
0xD21101.00101110.1011 1111.10100xEB 0xFA
0xD31101.00111110.1011 1111.10110xEB 0xFB
0xD41101.01001110.1010 1111.11100xEA 0xFE
0xD51101.01011110.1010 1111.11110xEA 0xFF
0xD61101.01101110.1011 1111.1110>0xEB 0xFE
0xD71101.01111110.1011 1111.11110xEB 0xFF
0xD81101.10001110.1110 1111. 10100xEE 0xFA
0xD91101.10011110.1110 1111.10110xEE 0xFB
0xDA1101.10101110.1111 1111.10100xEF 0xFA
0xDB1101.10111110.1111 1111.10110xEF 0xFB
0xDC1101.11001110.1110 1111.11100xEE 0xFE
0xDD1101.11011110.1110 1111.11110xEE 0xFF
0xDE1101.11101110.1111 1111.11100xEF 0xFE
0xDF1101.11111110.1111 1111.11110xEF 0xFF
0xE01110.00001111.1010 1110.10100xFA 0xEA
0xE11110.00011111.1010 1110.10110xFA 0xEB
0xE21110.00101111.1011 1110.10100xFB 0xEA
0xE31110.00111111.1011 1110.10110xFB 0xEB
0xE41110.01001111.1010 1110.11100xFA 0xEE
0xE51110.01011111.1010 1110.11110xFA 0xEF
0xE61110.01101111.1011 1110.11100xFB 0xEE
0xE71110.01111111.1011 1110.11110xFB 0xEF
0xE81110.10001111.1110 1110.10100xFE 0xEA
0xE91110.10011111.1110 1110.10110xFE 0xEB
0xEA1110.10101111.1111 1110.10100xFF 0xEA
0xEB1110.10111111.1111 1110.10110xFF 0xEB
0xEC1110.11001111.1110 1110.11100xFE 0xEE
0xED1110.11011111.1110 1110.11110xFE 0xEF
0xEE1110.11101111.1111 1110.11100xFF 0xEE
0xEF1110.11111111.1111 1110.11110xFF 0xEF
0xF01111.00001111.1010 1111.10100xFA 0xFA
0xF11111.00011111.1010 1111.10110xFA 0xFB
0xF21111.00101111.1011 111 1.10100xFB 0xFA
0xF31111.00111111.1011 1111.10110xFB 0xFB
0xF41111.01001111.1010 1111.11100xFA 0xFE
0xF51111.01011111.1010 1111.11110xFA 0xFF
0xF61111.01101111.1011 1111.11100xFB 0xFE
0xF71111.01111111.1011 1111.11110xFB 0xFF <279115>0xF8>1111.10001111.1110 1111.10100xFE 0xFA
0xF91111.10011111.1110 1111.10110xFE 0xFB
0xFA1111.10101111.1111 1111.10100xFF 0xFA
0xFB1111.10111111.1111 1111.10110xFF 0xFB
0xFC1111.11001111.1110 1111.11100xFE 0xFE
0xFD1111.11011111.1110 1111.11110xFE 0xFF
0xFE1111.11101111.1111 1111.11100xFF 0xFE
0xFF1111.11111111.1111 11 11.11110xFF 0xFF

Примерно за месяц до поставки диска весной 1978 года Возняк понял, что более сложная схема кодирования позволит каждому восьмибитовому байту на диске содержать пять битов полезные данные, а не четыре бита. Это связано с тем, что в 34 байтах установлен верхний бит, а в строке нет двух нулевых битов. Эта схема кодирования стала известна как 5-и-3-кодирование и допускала 13 секторов на дорожку; он использовался для Apple DOS 3.1, 3.2 и 3.2.1, а также для самой ранней версии Apple CP / M [de ]:

Таблица кодирования 5 и 3
5-битное значениеКод GCR
шестнадцатеричныйbinbinшестнадцатеричный
0x000,00001010.10110xAB
0x010.00011010.11010xAD
0x020,00101010.11100xAE
0x030.00111010.11110xAF
0x040,01001011.01010xB5
0x050.01011011.01100xB6
0x060,01101011.01110xB7
0x070.01111011.10100xBA
0x080,10001011.10110xBB
0x090.10011011.11010xBD
0x0A0.10101011.11100xBE
0x0B0.10111011.11110xBF
0x0C0,11001101.01100xD6
0x0D0.11011101.01110xD7
0x0E0.11101101.10100xDA
0x0F0.11111101.10110xDB
5-битное значениеКод GCR
шестнадцатеричныйbinbinшестнадцатеричный
0x101.00001101.11010xDD
0x111.00011101.11100xDE
0x121.00101101.11110xDF
0x131.00111110.10100xEA
0x141.01001110.10110xEB
0x151.01011110.11010xED
0x161.01101110.11100xEE
0x171.01111110.11110xEF
0x181.10001111.01010xF5
0x191.10011111.01100xF6
0x1A1.10101111.01110xF7
0x1B1.10111111.10100xFA
0x1C1.11001111.10110xFB
0x1D1.11011111.11010xFD
0x1E1.11101111.11100xFE
0x1F1.11111111.11110xFF

Зарезервированные GCR-коды: 0xAA и 0xD5.

Wozniak called the system "my most incredible experience at Apple and the finest job I did".

Later, the design of the floppy drive controller was modified to allow a byte on disk to contain up to one pair of zero bits in a row. This allowed each eight-bit byte to hold six bits of useful data, and allowed 16 sectors per track. This scheme is known as 6-and-2 encoding, and was used on Apple Pascal, Apple DOS 3.3 and ProDOS, and later with Apple FileWare drives in the Apple Lisa and the 400K and 800K 3½-inch disks on the Macintosh and Apple II. Apple did not originally call this scheme "GCR", but the term was later applied to it to distinguish it from IBM PC floppies which used the MFM encoding scheme.

6-and-2 encoding table
6-bit valueGCR code
hexbinbinhex
0x0000.00001001.01100x96
0x0100.00011001.01110x97
0x0200.00101001.10100x9A
0x0300.00111001.10110x9B
0x0400.01001001.11010x9D
0x0500.01011001.11100x9E
0x0600.01101001.11110x9F
0x0700.01111010.01100xA6
0x0800.10001010.01110xA7
0x0900.10011010.10110xAB
0x0A00.10101010.11000xAC
0x0B00.10111010.11010xAD
0x0C00.11001010.11100xAE
0x0D00.11011010.11110xAF
0x0E00.11101011.00100xB2
0x0F00.11111011.00110xB3
6-bit valueGCR code
hexbinbinhex
0x1001.00001011.01000xB4
0x1101.00011011.01010xB5
0x1201.00101011.01100xB6
0x1301.00111011.01110xB7
0x1401.01001011.10010xB9
0x1501.01011011.10100xBA
0x1601.01101011.10110xBB
0x1701.01111011.11000xBC
0x1801.10001011.11010xBD
0x1901.10011011.11100xBE
0x1A01.10101011.11110xBF
0x1B01.10111100.10110xCB
0x1C01.11001100.11010xCD
0x1D01.11011100.11100xCE
0x1E01.11101100.11110xCF
0x1F01.11111101.00110xD3
6-bit valueGCR code
hexbinbinhex
0x2010.00001101.01100xD6
0x2110.00011101.01110xD7
0x2210.00101101.10010xD9
0x2310.00111101.10100xDA
0x2410.01001101.10110xDB
0x2510.01011101.11000xDC
0x2610.01101101.11010xDD
0x2710.01111101.11100xDE
0x2810.10001101.11110xDF
0x2910.10011110.01010xE5
0x2A10.10101110.01100xE6
0x2B10.10111110.01110xE7
0x2C10.11001110.10010xE9
0x2D10.11011110.10100xEA
0x2E10.11101110.10110xEB
0x2F10.11111110.11000xEC
6-bit valueGCR code
hexbinbinhex
0x3011.00001110.11010xED
0x3111.00011110.11100xEE
0x3211.00101110.11110xEF
0x3311.00111111.00100xF2
0x3411.01001111.00110xF3
0x3511.01011111.01000xF4
0x3611.01101111.01010xF5
0x3711.01111111.01100xF6
0x3811.10001111.01110xF7
0x3911.10011111.10010xF9
0x3A11.10101111.10100xFA
0x3B11.10111111.10110xFB
0x3C11.11001111.11000xFC
0x3D11.11011111.11010xFD
0x3E11.11101111.11100xFE
0x3F11.11111111.11110xFF

Зарезервированные коды GCR: 0xAA и 0xD5.

Commodore

Независимо, Commodore Business Machines (CBM) создала схему записи с групповым кодированием для своего Commodore 2040 дисковод гибких дисков (выпущен весной 1979 г.). Соответствующие ограничения на привод 2040 заключались в том, что в строке могло встречаться не более двух нулевых битов; привод не налагал никаких особых ограничений на первый бит байта. Это позволило использовать схему, аналогичную той, что используется в ленточных накопителях 6250 бит / дюйм. Каждые четыре бита данных преобразуются в пять битов на диске в соответствии со следующей таблицей:

4-битное значениекод GCR
шестнадцатеричныйbinbinшестнадцатеричный
0x000000.10100x0A
0x100010.10110x0B
0x200101.00100x12
0x300111.00110x13
0x401000.11100x0E
0x501010,11110x0F
0x601101.01100x16
0x701111.01110x17
4-битное значениекод GCR
шестнадцатеричныйbinbinшестнадцатеричный
0x810000,10010x09
0x910011.10010x19
0xA10101.10100x1A
0xB10111.10110x1B
0xC11000,11010x0D
0xD11011.11010x 1D
0xE11101.11100x1E
0xF11111.01010x15

Каждый код начинается и заканчивается не более чем одним нулевым битом, гарантируя, что даже при объединении кодов закодированные данные никогда не будут содержать более двух нулевых битов в строке. При таком кодировании возможно не более восьми битов в ряд. Поэтому Commodore использовал последовательности из десяти или более битов подряд в качестве метки синхронизации.

Эта более эффективная схема GCR в сочетании с подходом записи с постоянной битовой плотностью путем постепенного увеличения тактовой частоты (зона постоянной угловой скорости, ZCAV) и сохранения больше физических секторов на внешних дорожках, чем на внутренних (зона битовой записи, ZBR), позволило Commodore уместить 170 КБ на стандартной односторонней дискете с одинарной плотностью 5,25 дюйма, тогда как Apple поместила 140 Кбайт (при кодировании 6 и 2) или 114 Кбайт (при кодировании 5 и 3), а на дискете с кодировкой FM всего 88 Кбайт.

Sirius / Victor

Подобно 5,25-дюймовому дисководу гибких дисков Victor 9000 он же Sirius 1, разработанный Chuck Peddle в 1981/1982 гг. Использовала комбинацию десятибитного GCR и записи с постоянной битовой плотностью путем постепенного уменьшения скорости вращения привода для внешних дорожек в девяти зонах для достижения емкости форматирования 606 кБ (односторонняя) / 1188 кБ (двусторонние) на носителе.

Brother

Примерно с 1985 года Brother представил семейство специализированных пишущих машинок для текстовых процессоров со встроенным 3,5-дюймовым 38-дорожечным дисководом для дискет. Ранние модели и [de ] использовали специфичную для Brother схему записи с групповым кодированием с двенадцатью 256-байтовыми секторами для хранения до 120 КБ на одностороннем и до 240 КБ на двустороннем двустороннем. дискеты плотности (DD). Сообщается, что прототипы уже были показаны на Internationale Funkausstellung 1979 (IFA) в Берлине.

Sharp

В 1986 году Sharp представила поворотный 2,5-дюймовый карманный дисковый накопитель (диски: CE-1600F,; внутри на базе шасси FDU-250; носитель: CE-1650F ) для их серии карманных компьютеров с форматированной емкостью 62464 байта на каждую сторону (2 × 64 кБ номинально, 16 дорожек, 8 секторов / дорожка, 512 байт на сектор, 250 кбит / с, 270 об / мин) с записью GCR (4/5).

Другое использование

GCR также оценивался для возможного использования в схемах кодирования штрих-кода (эффективность упаковки, допуски по времени, количество байтов для хранения информации о времени и DC выходной уровень).

См. также
Примечания
Ссылки
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-05-22 11:30:39
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте