Sphere
Войти
Представление данных в компьютере
Основу памяти компьютера составляют устройства, которые могут находиться в одном из двух состояний. Одно из этих состояний ассоциируется с единицей, другое с нулем. Вся обрабатываемая в компьютере информация естественно представляется в двоичном коде. Например, числа хранятся в памяти компьютера в двоичной системе счисления. Рабочее поле компьютера, называемое оперативной памятью, представляет собой упорядоченную последовательность двоичных разрядов, называемых битами памяти. Каждое данное занимает в памяти фрагмент, состоящий из заданного числа битов. Обратно, каждый фрагмент памяти может интерпретироваться как данные. Одни и те же данные в зависимости от интерпретации могут рассматриваться как:


Для удобства память разбита на ячейки, состоящие из фиксированного числа битов. В современных компьютерах ячейки состоят из восьми битов и называются байтами. Это связано с тем обстоятельством, что символы текста представляются в компьютере своими численными кодами, и оптимальное число различаемых компьютером символов равно 256=28 (а не 128 или 512). Объем памяти измеряется в килобайтах и мегабайтах: 1Кб = 210б, 1Мб = 210Кб = 220б (210 = 1024, 220 = 1 048 576). Адресом элемента данных в оперативной памяти называется порядковый номер начального байта размещения этого элемента в памяти.

Иногда удобно восемь двоичных разрядов байта разбить на две группы по четыре. Четырем разрядам в двоичной системе счисления соответствует цифра в шестнадцатеричной системе счисления. Напомним, что в шестнадцатеричной системе счисления число представляется в виде суммы степеней числа 16. Для изображения числа используется шестнадцать цифр: десять обычных десятичных цифр и шесть латинских заглавных букв {A,B,C,D,E,F}. В результате содержимое байта удобно отображать двузначным числом в шестнадцатеричной системе счисления. Например, 011011012=6D16, а 101100102=A216.

Символы при представлении текстовой информации кодируются числами от 0 до 255. Естественно, таблица кодирования не должна зависеть от произвола программиста или производителя компьютеров, поскольку передача информации в этом случае будет сильно затруднена. В настоящее время существует стандарт ASCII (American Standard Code for Informational Interchange), содержащий коды 128 основных символов (коды от 0 до 127) и 128 расширенных символов (коды от128 до 255). В каждой стране 128 кодов от 128 до 255 могут быть заменены на символы национального алфавита. Другими словами, в каждой стране устанавливается свой стандарт.

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

Соглашение для устройства, считывающего команды программы, следующее. Выполнение программы задается указанием начала размещения первой команды программы в оперативной памяти. Код команды одновременно указывает содержание очередной операции и длину команды. Конец предыдущей команды означает начало следующей. Для изменения естественного порядка выполнения команд существует специальная команда, называемая безусловным переходом.
photoAccount
Алексей Иванов Опубликовано 29-08-2023
imageviews 92