Байт — это единица цифровой информации , которая чаще всего состоит из восьми бит . Исторически байтом называли количество битов, используемых для кодирования одного символа текста в компьютере [1] [2] , и по этой причине это наименьшая адресуемая единица памяти во многих компьютерных архитектурах . Чтобы устранить неоднозначность байтов произвольного размера из общего 8-битного определения, документы сетевых протоколов, такие как Интернет-протокол ( RFC 791), называют 8-битный байт октетом . [3] Эти биты в октете обычно нумеруются от 0 до 7 или от 7 до 0 в зависимости от порядка байтов .
Размер байта исторически зависел от аппаратного обеспечения , и не существовало окончательных стандартов, определяющих этот размер. Использовались размеры от 1 до 48 бит. [4] [5] [6] [7] Шестибитный код символов часто использовался в ранних системах кодирования, а компьютеры, использующие шестибитные и девятибитные байты, были обычным явлением в 1960-х годах. Эти системы часто имели слова памяти длиной 12, 18, 24, 30, 36, 48 или 60 бит, что соответствовало 2, 3, 4, 5, 6, 8 или 10 шестибитным байтам. В то время группы битов в потоке команд часто назывались слогами [a] или slab , прежде чем термин байт стал общепринятым.
Современный стандарт де-факто восьми бит, как описано в ISO/IEC 2382-1:1993, представляет собой удобную степень двойки , позволяющую использовать двоично-кодированные значения от 0 до 255 для одного байта, поскольку 2 в восьмой степени равно 256. [8] Международный стандарт IEC 80000-13 закрепил это общее значение. Многие типы приложений используют информацию, представленную в восьми или менее битах, и разработчики процессоров обычно оптимизируют ее для такого использования. Популярность основных коммерческих вычислительных архитектур способствовала повсеместному принятию 8-битного байта. [9] В современных архитектурах обычно используются 32- или 64-битные слова, состоящие из четырех или восьми байтов соответственно.
Символ единицы байта был обозначен Международной электротехнической комиссией (IEC) и Институтом инженеров по электротехнике и электронике (IEEE) как заглавная буква B. [10] На международном уровне единичный октет , символ o, явно определяет последовательность из восьми битов, устраняя потенциальную двусмысленность термина «байт». [11] [12]
Термин « байт» был придуман Вернером Бухгольцем в июне 1956 года, [4] [13] [14] [b] на раннем этапе проектирования IBM Stretch [15] [16] [1] [13] [ 14] [17] ] [18] компьютер, который имел адресацию к битам и инструкциям переменной длины поля (VFL) с размером байта, закодированным в инструкции. [13] Это преднамеренное изменение байта , чтобы избежать случайной мутации в бит . [1] [13] [19] [в]
Другое происхождение байтовых групп битов, меньших размера компьютерного слова, и в частности групп из четырех бит , зарегистрировано Луисом Г. Дули, который утверждал, что придумал этот термин, когда работал с Жюлем Шварцем и Диком Билером над системой противовоздушной обороны. под названием SAGE в Лаборатории Линкольна Массачусетского технологического института в 1956 или 1957 году и был разработан совместно Рэндом , Массачусетским технологическим институтом и IBM. [20] [21] Позже этот термин действительно использовался в языке Шварца JOVIAL , но автор смутно припоминает, что он произошел от AN/FSQ-31 . [22] [21]
Ранние компьютеры использовали различные четырехбитные двоично-десятичные представления (BCD) и шестибитные коды для печатных графических шаблонов, распространенных в армии США ( FIELDATA ) и военно- морском флоте . Эти изображения включали буквенно-цифровые символы и специальные графические символы. Эти наборы были расширены в 1963 году до семи битов кодирования, названных Американским стандартным кодом обмена информацией (ASCII) в качестве Федерального стандарта обработки информации , который заменил несовместимые коды телетайпов, использовавшиеся различными ветвями правительства и университетами США в 1960-х годах. . ASCII включал в себя различие прописных и строчных алфавитов и набор управляющих символов для облегчения передачи письменного языка, а также функций печатающего устройства, таких как продвижение страницы и перевод строки, а также физический или логический контроль потока данных при передаче. СМИ. [18] В начале 1960-х годов, одновременно активно занимаясь стандартизацией ASCII, IBM одновременно представила в своей линейке продуктов System/360 восьмибитный расширенный двоично-десятичный код обмена (EBCDIC), расширение их шестибитного двоично-десятичного кода обмена. десятичные представления (BCDIC) [d], использовавшиеся в более ранних перфорациях карт. [23] Популярность System/360 привела к повсеместному принятию восьмибитного размера памяти, [18] [16] [13] , хотя в деталях схемы кодирования EBCDIC и ASCII различны.
В начале 1960-х годов компания AT&T представила цифровую телефонию на междугородных магистральных линиях . В них использовалась восьмибитная кодировка по закону μ . Эти крупные инвестиции обещали снизить затраты на передачу восьмибитных данных.
В первом томе книги «Искусство компьютерного программирования» (впервые опубликованной в 1968 году) Дональд Кнут использует байт в своем гипотетическом компьютере MIX для обозначения единицы, которая «содержит неопределённое количество информации… способной содержать по меньшей мере 64 различных значения… ... не более 100 различных значений. Поэтому на двоичном компьютере байт должен состоять из шести битов". [24] Он отмечает, что «примерно с 1975 года слово байт стало означать последовательность ровно из восьми двоичных цифр... Когда мы говорим о байтах в связи с MIX, мы ограничимся прежним смыслом этого слова, возвращаясь к тем временам, когда байты еще не были стандартизированы». [24]
Разработка восьмибитных микропроцессоров в 1970-х годах популяризировала этот размер хранилища. Микропроцессоры, такие как Intel 8008 , прямой предшественник 8080 и 8086 , использовавшиеся в ранних персональных компьютерах, также могли выполнять небольшое количество операций с четырехбитными парами в байте, например десятичное сложение-регулирование ( ДАА) инструкция. Четырехбитную величину часто называют полубайтом , а также полубайтом , который удобно представить одной шестнадцатеричной цифрой.
Термин октет используется для однозначного указания размера в восемь бит. [18] [12] Он широко используется в определениях протоколов .
Исторически термин «октада» или «октада» использовался для обозначения восьми битов, по крайней мере, в Западной Европе; [25] [26] Однако такое использование больше не распространено. Точное происхождение этого термина неясно, но его можно найти в британских, голландских и немецких источниках 1960-х и 1970-х годов, а также в документации к мэйнфреймам Philips .
Символ единицы измерения байта указан в IEC 80000-13 , IEEE 1541 и метрическом формате обмена [10] как символ B в верхнем регистре.
В Международной системе величин (ISQ) B также является символом бел , единицы логарифмического отношения мощностей, названной в честь Александра Грэма Белла , что создает конфликт со спецификацией IEC. Однако опасность путаницы невелика, поскольку ремень используется редко. Он используется в основном в своей десятичной дроби, децибеле (дБ), для измерения силы сигнала и уровня звукового давления , тогда как единица измерения одной десятой байта, децибайт и другие дроби используются только в производных единицах, таких как как скорость передачи.
Строчная буква o для обозначения октета определяется как символ октета в IEC 80000-13 и обычно используется в таких языках, как французский [27] и румынский , а также сочетается с метрическими префиксами для кратных чисел, например ko и Mo.
Существует более одной системы для определения кратных единиц на основе байта. Некоторые системы основаны на степени 10 в соответствии с Международной системой единиц (СИ), которая определяет, например, префикс килограмм как 1000 (10 3 ); другие системы основаны на степенях 2 . Номенклатура этих систем имеет путаницу. Системы, основанные на степенях 10, используют стандартные префиксы СИ ( кило , мега , гига ,...) и соответствующие им символы (k, M, G,...). Однако системы, основанные на степенях двойки, могут использовать двоичные префиксы ( киби , меби , гиби , ...) и соответствующие им символы (Ки, Ми, Ги, ...) или префиксы К, М и G, создавая двусмысленность при использовании префиксов M или G.
Хотя разница между десятичной и двоичной интерпретацией относительно невелика для килобайта (примерно на 2% меньше, чем кибибайт), системы отклоняются все больше по мере увеличения единиц (относительное отклонение увеличивается на 2,4% на каждые три порядка). Например, терабайт, основанный на степени 10, примерно на 9% меньше тебибайта, основанного на степени 2.
Определение префиксов с использованием степеней 10, в которых 1 килобайт (символ КБ) равен 1000 байтам, рекомендовано Международной электротехнической комиссией (МЭК). [28] Стандарт IEC определяет восемь таких кратных, до 1 йоттабайта (YB), что соответствует 1000 8 байтам. [29] Дополнительные префиксы ronna- для 1000 9 и quetta- для 1000 10 были приняты Международным бюро мер и весов (BIPM) в 2022 году. [30] [31]
Это определение чаще всего используется для единиц скорости передачи данных в компьютерных сетях , скорости внутренней шины, жесткого диска и флэш-носителей, а также для емкости большинства носителей информации , особенно жестких дисков , [32] флэш -накопителей, [33] и DVD - диски . _ К операционным системам , использующим это определение, относятся macOS , [34] iOS , [34] Ubuntu , [35] и Debian . [36] Это также согласуется с другими видами использования префиксов SI в вычислениях, такими как тактовая частота процессора или показатели производительности .
Система единиц, основанная на степенях 2 , в которой 1 кибибайт (КиБ) равен 1024 (т. е. 2 10 ) байтам, определена международным стандартом IEC 80000-13 и поддерживается национальными и международными органами по стандартизации ( BIPM , IEC , НИСТ ). Стандарт IEC определяет восемь таких кратных, до 1 йобибайта (YiB), что соответствует 1024 8 байтам. Естественные бинарные аналоги ронна- и кветта- были указаны в консультационном документе Консультативного комитета по единицам Международного комитета мер и весов (CCU) как роби- (Ri, 1024 9 ) и квеби- (Qi, 1024 10 ). , но еще не были приняты МЭК и ИСО. [37]
Альтернативная система номенклатуры для тех же единиц (называемая здесь общепринятым соглашением ), в которой 1 килобайт (КБ) равен 1024 байтам, [38] [39] [40] 1 мегабайт (МБ) равен 1024. 2 байта и 1 гигабайт (ГБ) равны 1024. 3 байта упоминаются в стандарте JEDEC 1990-х годов . В стандарте JEDEC упоминаются только первые три кратных (до ГБ), в котором не упоминается ТБ и более крупные. Хотя это сбивает с толку и неверно [41]. Обычное соглашение используется операционной системой Microsoft Windows [42] [ нужен лучший источник ] и емкостью оперативной памяти , такой как основная память и размер кэша ЦП , а также в маркетинге и выставлении счетов телекоммуникационными компаниями. , такие как Vodafone , [43] AT&T , [44] Orange [45] и Telstra . [46]
Что касается емкости хранилища , в macOS и iOS использовалось обычное соглашение до Mac OS X 10.6 Snow Leopard и iOS 10, после чего они перешли на единицы измерения, основанные на степени 10. [34]
Различные поставщики компьютеров придумали термины для данных разных размеров, иногда с разными размерами для одного и того же термина даже в пределах одного поставщика. Эти термины включают двойное слово , полуслово , длинное слово , четверное слово , плиту , сверхслово и слог . Есть и неофициальные условия. например, полубайт и полубайт для 4 бит, восьмеричная K для 1000 8 .
Современная компьютерная память [e] имеет двоичную архитектуру , что делает определение единиц памяти на основе степеней 2 наиболее практичным. Использование метрического префикса «кило» для двоичных кратных возникло для удобства, поскольку 1024 примерно равно 1000. [27] Это определение было популярно в первые десятилетия развития персональных компьютеров , когда такие продукты, как дискета Tandon 5 1 / 4 -дюймового формата DD (объемом 368 640 байт), рекламировались как «360 КБ», в соответствии с соглашением о 1024 байтах. Однако оно не было универсальным. Дискета Shugart SA-400 размером 5 1/4 дюйма содержала 109 375 байт в неформатированном виде [47] и рекламировалась как «110 Кбайт», используя соглашение 1000 . [48] Аналогичным образом, 8-дюймовая дискета DEC RX01 (1975 г.) содержала отформатированные 256 256 байт и рекламировалась как «256 КБ». [49] Другие диски рекламировались с использованием смеси этих двух определений: в частности, 3+1 / 2 -дюймовые HD-диски, рекламируемые как «1,44 МБ», на самом деле имеют емкость 1440 КиБ, что эквивалентно 1,47 МБ или 1,41 МБ.
В 1995 году Межотраслевой комитет по номенклатуре и символам Международного союза теоретической и прикладной химии (IUPAC) попытался разрешить эту двусмысленность, предложив набор двоичных префиксов для степеней 1024, включая киби (килобинарный), меби (мегабинарный). и гиби (гигабинарный). [50] [51]
В декабре 1998 года IEC рассмотрел такие многочисленные варианты использования и определения, приняв предложенные IUPAC префиксы (киби, меби, гиби и т. д.) для однозначного обозначения степеней 1024. [52] Таким образом, один кибибайт (1 КиБ) равен 1024 1 байт = 1024 байта, один мебибайт (1 МиБ) равен 1024 2 байта =1 048 576 байт и так далее.
В 1999 году Дональд Кнут предложил называть кибибайт «большим килобайтом» ( KKB ). [53]
МЭК приняла предложение ИЮПАК и опубликовала стандарт в январе 1999 года. [54] [55] Префиксы МЭК являются частью Международной системы величин . МЭК далее уточнила, что килобайт следует использовать только для обозначения 1000 байт.
Иски, возникающие из-за предполагаемого замешательства потребителей по поводу двоичных и десятичных определений кратных байту, обычно заканчивались в пользу производителей, при этом суды постановляли, что юридическое определение гигабайта или ГБ составляет 1 ГБ = 1 000 000 000 (10 9 ) байт (десятичное число определение), а не двоичное определение (2 30 , т. е. 1 073 741 824). В частности, Окружной суд США Северного округа Калифорнии постановил, что «Конгресс США счел десятичное определение гигабайта «предпочтительным» для целей «торговли и коммерции США» [...] Калифорнийский суд Законодательное собрание также приняло десятичную систему для всех «транзакций в этом штате » » [56] .
Предыдущие судебные иски завершились мировым соглашением без какого-либо решения суда по этому вопросу, как, например, иск против производителя накопителей Western Digital . [57] [58] Western Digital решила проблему и добавила к продуктам явный отказ от ответственности за то, что полезная емкость может отличаться от заявленной. [57] На компанию Seagate был подан иск на аналогичных основаниях, который также был урегулирован. [57] [59]
Многие языки программирования определяют тип данных byte .
Языки программирования C и C++ определяют байт как «адресную единицу хранения данных, достаточно большую, чтобы вместить любой член базового набора символов среды выполнения» (пункт 3.6 стандарта C). Стандарт C требует, чтобы целочисленный тип данных unsigned char содержал не менее 256 различных значений и был представлен как минимум восемью битами (пункт 5.2.4.2.1). Различные реализации C и C++ резервируют 8, 9, 16, 32 или 36 бит для хранения байта. [66] [67] [g] Кроме того, стандарты C и C++ требуют, чтобы между двумя байтами не было пробелов. Это означает, что каждый бит в памяти является частью байта. [68]
Байт примитивного типа данных Java определяется как восемь бит. Это знаковый тип данных, содержащий значения от –128 до 127.
Языки программирования .NET , такие как C# , определяют byte как беззнаковый тип, а sbyte как знаковый тип данных, содержащий значения от 0 до 255 и от -128 до 127 соответственно.
В системах передачи данных байт используется как непрерывная последовательность битов в последовательном потоке данных, представляющая наименьшую выделенную единицу данных. Для асинхронной связи полный блок передачи обычно дополнительно включает в себя стартовый бит, 1 или 2 стоповых бита и, возможно, бит четности , и, таким образом, его размер может варьироваться от семи до двенадцати бит для пяти-восьми бит реальных данных. [69] Для синхронной связи проверка ошибок обычно использует байты в конце кадра .
CHAR_BIT
оно реализовано, в файле limit.h .Термины, используемые здесь для описания структуры, заданной конструкцией машины, помимо бита , перечислены ниже.
Байт обозначает группу битов, используемых для кодирования символа, или количество битов, передаваемых параллельно к блокам ввода-вывода и от них. Здесь используется термин, отличный от символа , поскольку данный символ может быть представлен в разных приложениях более чем одним кодом, а разные коды могут использовать разное количество битов (т. е. разные размеры байтов). При передаче ввода-вывода группировка битов может быть совершенно произвольной и не иметь никакого отношения к реальным символам. (Термин произошел от укуса , но был изменен во избежание случайной мутации на бит .)
Слово состоит из количества битов данных, передаваемых параллельно из или в память за один цикл памяти . Таким образом, размер слова определяется как структурное свойство памяти. (Термин катена был придуман для этой цели разработчиками компьютера Bull GAMMA 60 .)
Блок относится к количеству слов, передаваемых в или из устройства ввода-вывода в ответ на одну команду ввода-вывода. Размер блока — структурное свойство блока ввода-вывода; оно могло быть исправлено в проекте или оставлено для изменения в программе.
октет Восьмибитный байт.
[…] Самым важным, с точки зрения редактирования, будет возможность обработки любых символов и цифр длиной от 1 до 6 бит.
На рисунке 2 показана матрица сдвига, которая будет использоваться для преобразования 60-битного слова , параллельно поступающего из памяти, в символы или «байты», как мы их назвали, для последовательной отправки в сумматор . 60 бит сбрасываются в магнитные сердечники на шести разных уровнях. Таким образом, если 1 выходит из позиции 9, она появляется во всех шести ядрах ниже. Подача импульса на любую диагональную линию отправит шесть битов, хранящихся по этой линии, в сумматор. Сумматор может принимать все или только некоторые биты.
Предположим, что требуется работать с 4-битными десятичными цифрами , начиная справа. Первой подается импульс по диагонали 0, отправляя шесть битов от 0 до 5, из которых сумматор принимает только первые четыре (0-3). Биты 4 и 5 игнорируются. Далее импульсируется 4-я диагональ. При этом отправляются биты с 4 по 9, из которых последние два снова игнорируются и так далее.
Так же легко использовать все шесть битов в буквенно-цифровой работе, или обрабатывать байты, состоящие только из одного бита, для логического анализа, или смещать байты на любое количество битов. Все это можно сделать, потянув за соответствующие диагонали переключения передач. Аналогичное расположение матриц используется для перехода от последовательного к параллельному режиму работы на выходе сумматора. […]
Байт — часть компьютерного слова.
Байт = zusammengehörige Folge von ia neun Bits; davon sind acht Datenbits, das neunte ein Prüfbit
байт:
строка, состоящая из нескольких битов, рассматриваемая как единица и обычно представляющая символ или часть символа.
ПРИМЕЧАНИЯ:
1 Число битов в байте фиксировано для данной системы обработки данных.
2 Число бит в байте обычно равно 8.
байт, октет, 8-битный байт: строка, состоящая из восьми бит.
Мы получили следующее от У. Бухгольца, одного из людей, работавших над проектом IBM Project Stretch в середине 1950-х годов. В его письме рассказывается эта история.
Не будучи постоянным читателем вашего журнала, я услышал в номере за ноябрь 1976 года о происхождении термина «байт» от коллеги, который знал, что я использовал этот жаргон [ см. стр. 77 за ноябрь 1976 г. BYTE, «Старый английский»] . Я поискал в своих файлах и не смог найти свидетельство о рождении. Но я уверен, что «Байт» достигнет совершеннолетия в 1977 году, когда ему исполнится 21 год.
Многие предполагали, что байт, то есть 8 бит, произошел от IBM System/360, которая распространила такие байты повсюду в середине 1960-х годов. Редактор прав, указывая, что этот термин восходит к более раннему компьютеру Stretch (но неверен в том смысле, что Stretch был первым, а не последним из разработанных IBM транзисторных компьютеров второго поколения).
Первая ссылка, найденная в файлах, содержалась во внутренней записке, написанной в июне 1956 года, в первые дни разработки Stretch . Байт описывался как состоящий из любого количества параллельных битов от одного до шести. Таким образом, предполагалось, что длина байта соответствует данному случаю. Его первое использование было в контексте оборудования ввода-вывода 1950-х годов, которое обрабатывало шесть бит одновременно. Возможность перехода на 8-битные байты рассматривалась в августе 1956 года и вскоре после этого была включена в конструкцию Stretch.
Первая опубликованная ссылка на этот термин произошла в 1959 году в статье Г. А. Блаау , Ф. П. Брукса-младшего и У. Бухгольца «Обработка данных в битах и фрагментах» в журнале IRE Transactions on Electronic Computers , июнь 1959 года, стр. 121. Понятия этой статьи были подробно описаны в главе 4 книги «Планирование компьютерной системы (расширение проекта)» под редакцией В. Бухгольца, McGraw-Hill Book Company (1962). Обоснование введения этого термина было объяснено на странице 40 следующим образом:
Байт обозначает группу битов, используемых для кодирования символа, или количество битов, передаваемых параллельно к блокам ввода-вывода и от них. Здесь используется термин, отличный от символа , поскольку данный символ может быть представлен в разных приложениях более чем одним кодом, а разные коды могут использовать разное количество битов (т. е. разные размеры байтов). При передаче ввода-вывода группировка битов может быть совершенно произвольной и не иметь никакого отношения к реальным символам. (Термин произошел от укуса , но был изменен во избежание случайной мутации на бит. )
System/360 перенял многие концепции Stretch, включая базовые размеры байтов и слов, которые являются степенями 2. Однако в целях экономии размер байта был зафиксирован на максимальном уровне 8 бит, а адресация на уровне битов была заменена на байтовая адресация.
С тех пор термин «байт» обычно означал 8 бит и, таким образом, вошел в общий словарь.
Существуют ли какие-либо другие термины, придуманные специально для компьютерной области и попавшие в общие словари английского языка?
Лето 1956 года: Геррит Блаау , Фред Брукс , Вернер Буххольц , Джон Кок и Джим Померен присоединяются к команде Stretch . Ллойд Хантер обеспечивает лидерство в области транзисторов .
Июль 1956 года [ sic ]: В отчете Вернер Бухгольц перечисляет преимущества 64-битной длины слова для Stretch. Он также поддерживает требования АНБ к 8-битным байтам. Термин Вернера «Байт» впервые популяризировался в этой записке.
Примечание. Эта временная шкала ошибочно указывает дату рождения термина «байт» как июль 1956 года , тогда как Бухгольц фактически использовал этот термин еще в июне 1956 года .
[…] 60 кратно 1, 2, 3, 4, 5 и 6. Следовательно, байты длиной от 1 до 6 бит могут быть эффективно упакованы в 60-битное слово без необходимости разделения байта между одним словом и следующий. Если бы требовались более длинные байты, 60 бит, конечно, уже не были бы идеальными. В современных приложениях действительно важными являются 1, 4 и 6 бит.
При использовании 64-битных слов часто приходится идти на некоторые компромиссы, например оставлять 4 бита неиспользуемыми в слове при работе с 6-битными байтами на входе и выходе. Однако компьютер LINK можно оборудовать для устранения этих пробелов и разрешить обработку байтов, разделенных между словами. […]
[…] Максимальный размер байта ввода-вывода для последовательной операции теперь будет составлять 8 бит, не считая бит обнаружения и исправления ошибок. Таким образом, Exchange будет работать на основе 8-битных байтов, и любые блоки ввода-вывода с менее чем 8 битами на байт оставят оставшиеся биты пустыми. Возникшие пробелы можно будет позже отредактировать, запрограммировав […]
Я пришел работать в IBM и увидел всю путаницу, вызванную ограничением в 64 символа. Особенно когда мы начали думать об обработке текста, которая требует как верхнего, так и нижнего регистра.
Добавьте 26 строчных букв к 47 существующим, и получится 73 — 9, которые могут представлять более 6 бит.
Я даже сделал предложение (ввиду STRETCH , самого первого известного мне компьютера с 8-битным байтом), которое расширило бы количество кодов символов перфокарты до 256 [1].
Некоторые люди отнеслись к этому серьезно. Я думал об этом как о пародии.
Поэтому некоторые люди начали думать о 7-битных персонажах, но это было смешно. В качестве фона использовался компьютер IBM STRETCH, обрабатывающий 64-символьные слова, делимые на группы по 8 (я разработал набор символов для него под руководством доктора Вернера Бухгольца , человека, который ДЕЙСТВИТЕЛЬНО придумал термин «байт» для 8-битного слова). группировка). [2] Казалось разумным создать универсальный 8-битный набор символов, поддерживающий до 256. В те дни моей мантрой было: «Степень 2 — это магия». И вот группа, которую я возглавлял, разработала и обосновала такое предложение [3].
Это был слишком большой прогресс, когда его представили группе по стандартизации, которая должна была формализовать ASCII, поэтому на данный момент они остановились на 7-битном наборе или же на 8-битном наборе, в котором верхняя половина осталась для будущей работы.
IBM 360 использовал 8-битные символы, хотя и не напрямую ASCII. Таким образом, «байт» Бухгольца прижился повсюду. Мне самому это имя не понравилось по многим причинам. В конструкции было 8 бит, перемещающихся параллельно. Но затем появилась новая часть IBM, с 9 битами для самопроверки, как внутри ЦП, так и в стримерах . Я представил прессе этот 9-битный байт в 1973 году. Но задолго до этого, когда я возглавлял операции по программному обеспечению в Cie. Bull во Франции в 1965-66 годах, я настаивал на том, чтобы слово «байт» было устаревшим в пользу « октета ».
Вы можете заметить, что мое предпочтение тогда стало предпочтительным термином.
Это оправдано новыми методами связи, которые могут передавать параллельно 16, 32, 64 и даже 128 бит. Но некоторые глупые люди теперь называют «16-битный байт» из-за этой параллельной передачи, которая видна в наборе UNICODE . Я не уверен, но, возможно, это следует назвать « гекстетом ».
Но вы заметите, что я по-прежнему прав. Степени двойки по-прежнему волшебны!
Слово «байт» было придумано примерно с 1956 по 1957 год в лабораториях Линкольна Массачусетского технологического института в рамках проекта под названием SAGE (Североамериканская система противовоздушной обороны), который был совместно разработан Rand , Lincoln Labs и IBM . В ту эпоху структура компьютерной памяти уже определялась размером слова . Слово состояло из х битов ; бит представлял собой двоичную позицию в слове. Операции обычно выполняются со всеми битами полного слова.
Мы придумали слово байт для обозначения логического набора битов, меньшего размера полного слова. В то время он не определялся конкретно как x бит, а обычно назывался набором из 4 битов , поскольку это был размер большинства наших элементов закодированных данных. Вскоре после этого я перешел к другим обязанностям, которые отстранили меня от SAGE. Проведя много лет в Азии, я вернулся в США и был ошеломлен, узнав, что слово байт используется в новой микрокомпьютерной технологии для обозначения базовой адресуемой единицы памяти.
Сессия вопросов и ответов на конференции ACM по истории языков программирования включала в себя такой обмен мнениями:
[ Джон Гуденаф :
Вы упомянули, что термин «байт» используется в JOVIAL . Откуда взялся этот термин? ]
[ Жюль Шварц (изобретатель JOVIAL):
Насколько я помню, AN/FSQ-31 , совершенно другой компьютер, чем 709 , был байт-ориентированным. Я точно не помню, но вполне уверен, что в описании этого компьютера было слово «байт», и мы его использовали. ]
[ Фред Брукс :
Могу я поговорить об этом? Вернер Бухгольц придумал это слово как часть определения STRETCH , а AN/FSQ-31 заимствовал его из STRETCH, но Вернер определенно является автором этого слова. ]
[ Шварц:
Верно. Спасибо. ]