Подтвердить что ты не робот

Является ли байтом всегда 8 бит?

Я работаю через Элементы вычислительных систем, когда читаю следующий отрывок:

Компьютер Hack включает черно-белый экран, организованный как 256 строк по 512 пикселей на строку. Содержимое экрана представлено карта 8K памяти, которая начинается с адреса RAM 16384 (0x400). Каждый ряд на физическом экране, начиная с верхнего левого угла экрана, представленный в ОЗУ 32 последовательными 16-битными словами. Таким образом, пиксель при строка r сверху, а столбец c слева отображается на c% 16 бит (от LSB до MSB) слова, расположенного в RAM [16384 + r * 32 + c% 16]. Чтобы написать или прочитать пиксель физического экрана, один считывает или записывает соответствующий бит в карте памяти RAM-резидентной памяти (1 = черный, 0 = белый).

Итак, если на экране есть 256 строк по 512 пикселей, а каждый пиксель - один бит, как это карта памяти 8K для всего экрана?

256 строк * 512 бит = 131072/8 бит на байт /1024 байта на K = 16K

Не будет ли это картой памяти 16K?

Единственное, о чем я могу думать, это то, что, поскольку размер слова составляет 16 бит, может быть, это играет роль? Я всегда знал, что "байт" означает 8 бит, но если его определение зависит от размера слова компьютера, возможно, это решит эту загадку для меня. Может кто-нибудь объяснить мне, как экран, описанный в этом параграфе, представлен картой памяти 8K, а не 16K?

4b9b3361

Ответ 1

Да, байт всегда 8 бит в современных вычислениях.

В книге используются слова, а не байты

В книге явно указано слово и размер слова, в то время как в байтах нет слова (ха-ха). Посмотрите на фразу ..is represented in RAM by 32 consecutive 16-bit words.. Весь размер выражается в (16 бит) словах, а не в байтах.

Следовательно, 8K относится к 8 Kilowords. 8 килобайт формально будут записаны как 8 КБ, если эта нотация используется вообще в этой книге.

Слова важны, когда дело доходит до архитектуры процессора. Слова в языках программирования обычно составляют 2 байта (или 16 бит), но в архитектуре процессора они также могут быть 8 или 32 битами, и они относятся к натуральному размеру блоков данных, с которыми работает процессор, поэтому имеет смысл, что в книге используются слова, а не байты, поскольку текст кажется очень аппаратно ориентированным.

Чтобы узнать, как связаны байты и слова, прочитайте этот ответ.

Различные размеры байтов

Wikipedia описывает, как байт был первоначально (1960-е годы) на основе размера информации, которую он должен был удерживать, поэтому 6 бит байт может использоваться для (английских) символов, тогда как байты других размеров будут использоваться для разных форматов чисел. Он начался как 6 бит для английских символов, вырос до 7 бит для поддержки ASCII, и в итоге популярность 8-битной системы IBM System/360 вызвала глобальное принятие 8-битных байтов.

Байт - это программный блок, представляющий собой объем данных, а слово больше привязывается к архитектуре процессора/памяти и представляет собой рабочие единицы (регистры) в процессоре и адресные единицы в памяти. В настоящее время, однако, байт всегда считается 8 бит, а слова кратно этому. Есть еще процессоры, которые имеют разный размер слова, но это процессоры специального назначения. Нормальное оборудование, от ПК до телефонов и игровых консолей следует стандарту.

Ответ 2

За исключением, возможно, короткого периода после его чеканки, байт всегда составлял восемь бит.

Фраза "один килобайт" популяризировалась как "один килограмм на восемь", в том смысле, что у вас было бы килограмм (1024 адресуемых фрагмента) памяти, ширина которых была бы 8 бит ", причем каждая адресуемая часть было восемь бит.

Слово было не всегда восьми бит, но когда это не было, его никогда не называли "восьмью", это было "на четыре" или "на шестнадцать" или на вопиющем примере некоторых книжных магазинов Burroughs "на сто двадцать восемь". С другой стороны, машины Honeywell первоначально были организованы так, что каждый отдельный бит в хранилище имел уникальный адрес, поэтому у них было бы так много "килограммовых" пакетов памяти.

В случае машины, о которой вы говорите, она будет иметь память "8 килограмм на 16", поэтому карта памяти 8K, в частности, 8Kx16, где имеется только 8192 адреса, и каждый из них имеет ширину 16 бит.

Для ASCII и EBCDIC было дешевле иметь восьмибитовые границы адресов для эффективной обработки текста, даже если ваши регистраторы устройств были более широкими. Машины с более узкими регистрами просто вымерли.

Итак, да, байт всегда восемь бит и почти всегда был.