Байт — это единица цифровой информации , которая чаще всего состоит из восьми бит . Исторически байт представлял собой число бит, используемых для кодирования одного символа текста в компьютере [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 в степени 8 равно 256. [8] Международный стандарт IEC 80000-13 кодифицировал это общее значение. Многие типы приложений используют информацию, представленную восемью или менее битами, и проектировщики процессоров обычно оптимизируют для этого использования. Популярность основных коммерческих вычислительных архитектур способствовала повсеместному принятию 8-битного байта. [9] Современные архитектуры обычно используют 32- или 64-битные слова, построенные из четырех или восьми байтов соответственно.
Символ единицы измерения для байта был обозначен как заглавная буква B Международной электротехнической комиссией (МЭК) и Институтом инженеров по электротехнике и электронике (IEEE). [10] На международном уровне октет единицы измерения явно определяет последовательность из восьми бит, устраняя потенциальную неоднозначность термина «байт». [11] [12] Символ для октета, «o», также удобно устраняет неоднозначность в символе «B» между байтом и бел .
Термин байт был придуман Вернером Бухгольцем в июне 1956 года [4] [13] [14] [b] на ранней стадии проектирования компьютера IBM Stretch [15] [16] [1] [13] [14] [17] [18] , который имел адресацию к битам и инструкции переменной длины поля (VFL) с размером байта, закодированным в инструкции. [13] Это преднамеренное изменение написания слова bite , чтобы избежать случайной мутации в bit . [1] [13] [19] [c]
Другое происхождение байта для групп битов, меньших, чем размер компьютерного слова, и в частности групп из четырех бит , зафиксировано Луисом Г. Дули, который утверждал, что он придумал этот термин, работая с Жюлем Шварцем и Диком Билером над системой противовоздушной обороны под названием SAGE в лаборатории Линкольна Массачусетского технологического института в 1956 или 1957 году, которая была совместно разработана Рэндом , MIT и 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 8080 , прямой предшественник 8086 , также могли выполнять небольшое количество операций над парами из четырех бит в байте, например, инструкцию decimal-add-adjust (DAA). Четырехбитное количество часто называют полубайтом , также nybble , что удобно представлено одной шестнадцатеричной цифрой.
Термин октет однозначно определяет размер в восемь бит. [18] [12] Он широко используется в определениях протоколов .
Исторически термин octad или octade использовался для обозначения восьми бит, по крайней мере, в Западной Европе; [25] [26] однако, это использование больше не распространено. Точное происхождение термина неясно, но его можно найти в британских, голландских и немецких источниках 1960-х и 1970-х годов, а также в документации мэйнфреймов Philips .
Символ единицы измерения для байта указан в стандартах IEC 80000-13 , IEEE 1541 и Metric Interchange Format [10] как заглавная буква B.
В Международной системе величин (ISQ) B также является символом бела , единицы логарифмического отношения мощности, названной в честь Александра Грэхема Белла , что создает конфликт со спецификацией IEC. Однако существует небольшая опасность путаницы, поскольку бел — редко используемая единица. Он используется в основном в своей десятичной дроби, децибеле ( дБ), для измерения силы сигнала и уровня звукового давления , в то время как единица для одной десятой байта, децибайт и другие дроби, используются только в производных единицах, таких как скорость передачи.
Строчная буква o для октета определена как символ октета в IEC 80000-13 и обычно используется в таких языках, как французский [27] и румынский , а также сочетается с метрическими префиксами для кратных чисел, например, ko и Mo.
Существует более одной системы для определения кратных единиц на основе байта. Некоторые системы основаны на степенях 10 , следуя Международной системе единиц (СИ), которая определяет, например, префикс кило как 1000 (10 3 ); другие системы основаны на степенях 2 . Номенклатура для этих систем привела к путанице. Системы, основанные на степенях 10, используют стандартные префиксы СИ ( кило , мега , гига , ...) и соответствующие им символы ( к , М , G , ...). Однако системы, основанные на степенях 2 , могут использовать двоичные префиксы ( киби , меби , гиби , ...) и соответствующие им символы ( Ки , Ми , Ги , ...) или они могут использовать префиксы K , M и G , создавая двусмысленность при использовании префиксов M или G .
Хотя разница между десятичной и двоичной интерпретацией относительно невелика для килобайта (примерно на 2% меньше, чем кибибайт), системы отклоняются все больше по мере увеличения единиц (относительное отклонение увеличивается на 2,4% на каждые три порядка величины). Например, терабайт, основанный на степени 10, примерно на 9% меньше тебибайта, основанного на степени 2.
Определение префиксов с использованием степеней числа 10, в котором 1 килобайт (символ кБ) определяется как равный 1000 байт, рекомендовано Международной электротехнической комиссией (МЭК). [28] Стандарт МЭК определяет восемь таких кратных, до 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] Оно также согласуется с другими применениями префиксов СИ в вычислительной технике, такими как тактовая частота процессора или показатели производительности .
Система единиц, основанная на степенях 2 , в которой 1 кибибайт (КиБ) равен 1024 (т. е. 2 10 ) байтам, определена международным стандартом IEC 80000-13 и поддерживается национальными и международными органами по стандартизации ( BIPM , IEC , NIST ). Стандарт IEC определяет восемь таких кратных, до 1 йобибайта (ЙиБ), равного 1024 8 байтам. Естественные двоичные аналоги ронна- и кветта- были приведены в консультационном документе Консультативного комитета по единицам (CCU) Международного комитета по мерам и весам как роби- (Ри, 1024 9 ) и квеби- (Ци, 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 бит, восьмеричный К для 1000 8 .
Современная [e] компьютерная память имеет двоичную архитектуру , что делает определение единиц памяти на основе степеней двойки наиболее практичным. Использование метрической приставки кило для двоичных кратных возникло как удобство, поскольку 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 байт и рекламировалась как «256k». [49] Некоторые устройства рекламировались с использованием смеси двух определений: в частности, дискеты, рекламируемые как «1,44 МБ», имеют фактическую емкость 1440 КиБ, что эквивалентно 1,47 МБ или 1,41 МиБ.
В 1995 году Межведомственный комитет по номенклатуре и символам Международного союза теоретической и прикладной химии (ИЮПАК) попытался разрешить эту двусмысленность, предложив набор двоичных префиксов для степеней числа 1024, включая киби (килобинария), меби (мегабинария) и гиби (гигабинария). [50] [51]
В декабре 1998 года МЭК рассмотрела такие множественные использования и определения, приняв предложенные ИЮПАК префиксы (киби, меби, гиби и т. д.) для однозначного обозначения степеней числа 1024. [52] Таким образом, один кибибайт (1 КиБ) равен 1024 · 1 байт = 1024 байта, один мебибайт (1 МиБ) равен 1024 · 2 байта =1 048 576 байт и т. д.
В 1999 году Дональд Кнут предложил называть кибибайт «большим килобайтом» ( ККБ ). [53]
IEC приняла предложение IUPAC и опубликовала стандарт в январе 1999 года. [54] [55] Префиксы IEC являются частью Международной системы величин . IEC далее уточнила, что килобайт должен использоваться только для обозначения 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 byte определяется как восемь бит. Это знаковый тип данных, содержащий значения от −128 до 127.
Языки программирования .NET , такие как C# , определяют byte как беззнаковый тип, а sbyte как знаковый тип данных, содержащий значения от 0 до 255 и от −128 до 127 соответственно.
В системах передачи данных байт используется как непрерывная последовательность битов в последовательном потоке данных, представляющая наименьшую различимую единицу данных. Для асинхронной связи полная единица передачи обычно дополнительно включает стартовый бит, 1 или 2 стоповых бита и, возможно, бит четности , и, таким образом, ее размер может варьироваться от семи до двенадцати бит для пяти-восьми битов фактических данных. [69] Для синхронной связи проверка ошибок обычно использует байты в конце кадра .
CHAR_BIT
в файле limits.h .Термины, используемые здесь для описания структуры, налагаемой конструкцией машины, в дополнение к bit , перечислены ниже.
Байт обозначает группу бит, используемых для кодирования символа, или количество бит, передаваемых параллельно на и из устройств ввода-вывода. Здесь используется термин, отличный от character , поскольку данный символ может быть представлен в разных приложениях более чем одним кодом, и разные коды могут использовать разное количество бит (т. е. разные размеры байтов). При передаче ввода-вывода группировка бит может быть совершенно произвольной и не иметь никакого отношения к фактическим символам. (Термин образован от bite , но изменен, чтобы избежать случайной мутации на bit .) Слово состоит из количества бит
данных , передаваемых параллельно из или в память за один цикл памяти. Таким образом, размер слова определяется как структурное свойство памяти. (Термин catena был придуман для этой цели разработчиками компьютера 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 Stretch в середине 1950-х годов. В его письме рассказывается история.
Не будучи постоянным читателем вашего журнала, я услышал о вопросе в выпуске за ноябрь 1976 года относительно происхождения термина «байт» от коллеги, который знал, что я использовал этот жаргон [см. страницу 77 журнала BYTE за ноябрь 1976 года, «Olde Englishe»] . Я искал в своих файлах свидетельство о рождении. Но я уверен, что «байт» вступит в пору зрелости в 1977 году, когда ему исполнится 21 год.
Многие предполагали, что байт, означающий 8 бит, возник вместе с IBM System/360, которая распространила такие байты далеко и широко в середине 1960-х годов. Редактор прав, указывая, что термин восходит к более раннему компьютеру Stretch (но не прав в том, что Stretch был первым, а не последним из транзисторных компьютеров второго поколения IBM, которые были разработаны).
Первая ссылка, найденная в файлах, содержалась во внутренней записке, написанной в июне 1956 года в первые дни разработки Stretch . Байт описывался как состоящий из любого количества параллельных бит от одного до шести. Таким образом, предполагалось, что байт имеет длину, соответствующую случаю. Его первое использование было в контексте оборудования ввода-вывода 1950-х годов, которое обрабатывало шесть бит за раз. Возможность перехода на 8-битные байты была рассмотрена в августе 1956 года и вскоре после этого включена в конструкцию Stretch.
Первое опубликованное упоминание этого термина произошло в 1959 году в статье «Обработка данных по частям» GA Blaauw , FP Brooks Jr и W Buchholz в IRE Transactions on Electronic Computers , июнь 1959 г., стр. 121. Понятия этой статьи были подробно изложены в главе 4 Planning a Computer System (Project Stretch), под редакцией W Buchholz, McGraw-Hill Book Company (1962). Обоснование появления термина было объяснено там на стр. 40 следующим образом:
Байт обозначает группу бит, используемых для кодирования символа, или количество бит, передаваемых параллельно на и из устройств ввода-вывода. Здесь используется термин, отличный от символа , поскольку данный символ может быть представлен в разных приложениях более чем одним кодом, и разные коды могут использовать разное количество бит (т. е. разные размеры байтов). При передаче ввода-вывода группировка бит может быть совершенно произвольной и не иметь никакого отношения к фактическим символам. (Термин образован от bite , но изменен, чтобы избежать случайной мутации в bit. )
System/360 переняла многие концепции Stretch, включая основные размеры байта и слова, которые являются степенями 2. Однако для экономии размер байта был зафиксирован на максимуме в 8 бит, а адресация на уровне бит была заменена адресацией байтов.
С тех пор термин байт обычно означает 8 бит, и таким образом он вошел в общий словарь.
Есть ли другие термины, придуманные специально для компьютерной области, которые нашли свое место в общих словарях английского языка?
Лето 1956 года: Геррит Блааув , Фред Брукс , Вернер Бухгольц , Джон Кок и Джим Померен присоединяются к команде Stretch . Ллойд Хантер обеспечивает руководство транзисторами
. Июль 1956 года [ так в оригинале ]: В отчете Вернер Бухгольц перечисляет преимущества 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-битных символах, но это было смешно. С компьютером STRETCH IBM в качестве фона, обрабатывающим 64-символьные слова, делимые на группы по 8 (я разработал набор символов для него под руководством доктора Вернера Бухгольца , человека, который ДЕЙСТВИТЕЛЬНО придумал термин «байт» для 8-битной группировки). [2] Казалось разумным сделать универсальный 8-битный набор символов, обрабатывающий до 256. В те дни моей мантрой было «степени двойки — это магия». И поэтому группа, которую я возглавлял, разработала и обосновала такое предложение [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 бит ; бит представлял двоичную позицию в слове. Операции обычно выполнялись над всеми битами в полном слове.
Мы придумали слово байт для обозначения логического набора битов размером меньше полного слова. В то время он не был определен конкретно как x бит, но обычно назывался набором из 4 бит , поскольку это был размер большинства наших закодированных элементов данных. Вскоре после этого я перешел к другим обязанностям, которые отстранили меня от SAGE. Проведя много лет в Азии, я вернулся в США и был ошеломлен, узнав, что слово «байт» используется в новой микрокомпьютерной технологии для обозначения базовой адресуемой единицы памяти.
Сессия вопросов и ответов на конференции ACM по истории языков программирования включала такой обмен мнениями:
[ Джон Гуденаф :
Вы упомянули, что термин «байт» используется в JOVIAL . Откуда взялся этот термин?]
[ Жюль Шварц (изобретатель JOVIAL):
Насколько я помню, AN/FSQ-31 , совершенно другой компьютер, чем 709 , был ориентирован на байты. Я точно не помню, но я вполне уверен, что описание этого компьютера включало слово «байт», и мы его использовали.]
[ Фред Брукс :
Могу я высказаться по этому поводу? Вернер Бухгольц придумал это слово как часть определения STRETCH , а AN/FSQ-31 взял его из STRETCH, но Вернер определенно является автором этого слова.]
[Шварц:
Совершенно верно. Спасибо.]