Да, они настоящие, поскольку у них есть определение и стандартизированное использование / понимание.Статья в Википедии для байтов гласит:
Современный де-факто стандарт из восьми битов, описанный в ИСО / МЭК 2382-1: 1993, представляет собой удобную степень двух, допускающую значения от 0 до 255.для одного байта (2 в степени 8 = 256, где ноль также обозначает число). [7]Международный стандарт МЭК 80000-13 кодифицировал это общее значение.Многие типы приложений используют информацию, представленную в восьми или менее битах, и разработчики процессоров оптимизируют для этого общего использования.Популярность основных коммерческих вычислительных архитектур помогла повсеместному принятию восьмибитного размера. [8]Современные архитектуры обычно используют 32- или 64-битные слова, построенные из четырех или восьми байтов
Вероятно, стоит прочитать всю статью.Никто не ставил киоск 50 с лишним лет назад, стучал кулаком по столу и говорил: «Байт не должен быть 8 битами», но со временем это стало так, поскольку популярные микропроцессоры могли выполнять операции с 8 битами за раз.Последующие архитектуры процессоров выполняют операции, кратные этому.Хотя я уверен, что Intel может сделать свой следующий чип способным на 100 бит, я думаю, что следующая битовая революция, с которой мы столкнемся, будет 128
Все знают, что байт равен 8 битам?
В наши дни, да
Но где конкретно это указано?
См. Выше для кода ISO
Iзначит, физически вы на самом деле не используете байты, но биты.
Физически мы также не используем биты, но порог обнаруживаемой напряженности магнитного поля на покрытом ржавчиной листе алюминия иликоличество накопленного электрического заряда
Как я понимаю, это просто длинная последовательность единиц и нулей, а не байтов.
Правда, все для компьютера - это действительно длинный поток из 0 и 1. Что важно для определения чего-либо еще, так это где прекратить считать эту группу из 0 или 1 и начать считать следующую группуи то, что вы называете группой.Байт - это группа из 8 бит.Мы группируем вещи для удобства.Носить домой 24 банки пива намного неудобнее, чем одну коробку, содержащую 24 банки
Конечно, есть сектора, но, насколько я знаю, они запрограммированы на уровне программного обеспечения (впо крайней мере, в твердотельных накопителях, я думаю)
Секторы и байты аналогичны в том смысле, что они представляют собой группировку чего-либо, но они не обязательно напрямую связаны с тем, как биты и байты являютсяуровень группировки поверх байтов.Со временем значение сектора как сегмента дорожки (ссылка на номер диска и расстояние от центра диска) изменилось, поскольку марш прогресса покончил с позиционной адресацией и, позднее, даже с вращательным хранением.В вычислениях вы, как правило, обнаруживаете, что существует базовый уровень, который трудно использовать, поэтому кто-то создает поверх него уровень абстракции, и он становится новым «сложным в использовании», поэтому он абстрагируется снова и снова.
Кроме того, ОЗУ, что опять же - длинный поток единиц и нулей
Да, и, следовательно, его трудно использовать, поэтому он абстрагируется и снова абстрагируется.Ваша программа не занимается повышением уровня заряда некоторой емкостной области микросхемы памяти, она использует абстракции, к которым она имеет доступ, и это притяжение переключается на следующий уровень вниз, и так далее, пока магия не случится внизуиерархия.Когда вы останавливаетесь в этом нисходящем путешествии, это в основном вопрос определения и произвольного выбора.Я обычно не считаю свои чипы оперативной памяти чем-то вроде лотков для кубиков льда, заполненных электронами, или субатомных квантов, но я могу предположить.Мы обычно останавливаемся, когда это перестает быть полезным для решения проблемы
Другой пример - процессор.Он не обрабатывает 8 бит за раз, а только один.
Это во многом зависит отВаше определение «за один раз» - большая часть этого вопроса об определениях различных вещей. Если мы произвольно решим, что «за один раз» является единичным блоком нескольких пикосекунд, то процессору требуется один цикл для завершения, тогда да, ЦП может работать с несколькими битами информации одновременно - это вся идея иметь несколько битовый процессор, который может добавлять два 32-битных числа вместе и не забывать биты. Если вы хотите сократить время так точно, чтобы мы могли определить, достаточно ли заряда прошло здесь, но не там, тогда вы можете сказать, какой бит работает процессор прямо в эту пико (или меньшую) секунду, но это бесполезно для иди так мелко, потому что ничего не произойдет до тех пор, пока процессор не ждет окончания времени.
Достаточно сказать, что когда мы делим время достаточно для наблюдения одного цикла процессора от начала до конца, мы можем сказать, что процессор работает более чем на один бит.
Если вы будете писать по одной букве в секунду, а я закрою глаза на 2 из каждых 3 секунд, я увижу, что вы напишите целое трехбуквенное слово «одновременно» - вы напишите «кот сидел на коврик »и для наблюдателя вы генерировали каждое слово одновременно.
ЦПУ выполняют циклы по тем же причинам, они работают в зависимости от потока и накопления электрического заряда, и вам нужно подождать некоторое время, пока заряд накопится, чтобы он вызвал следующий набор логических элементов для открытия / закрытия и направления зарядить в другом месте. Более быстрые процессоры в основном являются более чувствительными схемами; скорость потока заряда относительно постоянна, это время, которое вы готовы подождать, пока входной поток не будет течь отсюда туда, чтобы этот бак заполнялся достаточным количеством заряда, который сокращается с увеличением МГц. Как только накопится достаточно заряда, поднять! Что-то происходит, и несколько вещей обрабатываются «одновременно»
Так где именно это указано? Или это просто общее правило, которому все следуют?
это было общее правило, затем было указано, что оно должно быть общим правилом
Если так, могу ли я создать систему (или операционную систему или даже что-то на более низком уровне), которая будет использовать, скажем, 9 бит в байте? Или мне бы не пришлось?
Вы могли бы, но, по сути, вам пришлось бы написать адаптацию (абстракцию) существующей архитектуры процессора, и вы бы использовали девять 8-битных байтов для достижения представления восьми 9-битных байтов. Вы создаете абстракцию поверх абстракции, и границы базовых строительных блоков не совпадают. У вас будет много работы, чтобы довести систему до конца, и вы не будете беспокоиться.
В реальном мире, если лотки для кубиков льда делали 8 кубиков за раз, но вы думали, что оптимальное количество для человека в морозильной камере - 9, вы купили бы 9 лотков, заморозили их и сделали 72 куба, а затем разделите их на 8 пакетов и продайте таким образом. Если бы кто-то оказался с 9 кубиками воды (она растаяла), вам нужно было бы разделить ее на 2 лотка, заморозить, вернуть обратно ... эта постоянная адаптация между вашей отраслью обеспечила 8 лотков для слотов и ваше желание обрабатывать 9 кубики это адаптивная абстракция
Если вы сделаете это, возможно, назовите это nyte? :)
Кроме того - почему вы не можете использовать меньше байта памяти? Или, может быть, вы можете?
Вы можете, вам просто нужно работать сограничения существующей абстракции составляют 8 бит.Если у вас есть 8 логических значений для хранения, вы можете закодировать их так, чтобы вы включали и выключали биты байта, поэтому, даже если вы застряли в своем лотке для льда на 8 кубов, вы можете выборочно заполнять и опорожнять каждый куб.Если вашей программе нужно только 7 булевых значений, вам, возможно, придется принять потери другого бита.Или, возможно, вы будете использовать его в сочетании с обычным 32-битным int для отслеживания 33-битного целочисленного значения.Тем не менее, много работы - написание адаптации, которая знает, что нужно переходить на 33-й разряд, а не просто выдавать ошибку переполнения, когда вы пытаетесь добавить 1 к 4 294 967 295.Памяти достаточно, чтобы вы могли потратить впустую бит и потратить еще 31 бит, используя 64-битное целое число для хранения значения 4 294 967 296.
Как правило, в наши дни ресурс настолько обильный, что мы не хотим тратить несколькобиты .. Конечно, это не всегда так: возьмите терминалы кредитных карт, отправляющие данные по медленным линиям.Каждый бит имеет значение для скорости, поэтому древние протоколы обмена информацией с банком вполне могли использовать разные биты одного и того же байта для кодирования нескольких вещей
Например: возможно ли использовать два приложенияодин и тот же байт (например, первый использует 4 бита, а второй - 4)?
Нет, потому что управление аппаратным обеспечением и памятью операционной системы в наши дни разделяет программы для обеспечения безопасности и стабильности.В старые времена, однако, одна программа могла записывать в память другой программы (это то, как мы изменяли в играх, видеть, как счетчик жизней снижается, просто перезаписывать новое значение), поэтому в те дни, если две программы могли вести себя, и одна могла толькозапишите 4 старших бита, а остальные 4 младших бита, тогда да, они могли бы разделить байт.Доступ, вероятно, был бы целым байтом, поэтому каждая программа должна была бы прочитать весь байт, изменить только свои собственные биты, а затем записать весь результат обратно
И, наконец, что не менее важно - делаеткомпьютерные диски действительно используют байты?Или, например, биты 1-8 принадлежат чему-то, рядом с ними есть 3 случайных бита, а биты 12-20 принадлежат чему-то другому?
Вероятно, нет, но выЯ никогда не узнаю, потому что вы не сможете достаточно взглянуть на этот уровень абстракции, чтобы увидеть диск, представленный в виде последовательности битов, и знать, где находятся границы байтов или границы секторов, и следует ли этот логический сектор этому логическому сектору,или дефект поверхности диска означает, что сектора не следуют друг за другом.Обычно это вас не волнует, потому что вы рассматриваете диск как непрерывный массив байтов (и т. Д.) И позволяете контроллеру беспокоиться о том, где биты