Форматы представления данных в эвм логические коды. Представление данных в памяти эвм. Организация оперативной памяти

ЛЕКЦИЯ №1 «Понятие информации, общая характеристика процессов сбора, передачи, обработки и накопления информации»

Информация. Виды существования информации. Свойства информации. Представление данных в ЭВМ. Система счисления. Позиционные системы счисления. Перевод чисел из одной системы счисления в другую. Кодирование информации. Единицы измерения информации. Передача информации. Обработка информации. Хранение информации. Магнитная память. Оптическая память.

Информация

Термин "информация" происходит от латинского слова "informatio" , что означает сведения, разъяснения, изложение. Несмотря на широкое распространение этого термина, понятие информации является одним из самых дискуссионных в науке. В настоящее время наука пытается найти общие свойства и закономерности, присущие многогранному понятию информация , но пока это понятие во многом остается интуитивным и получает различные смысловые наполнения в различных отраслях человеческой деятельности.

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

Современное научное представление об информации очень точно сформулировал Норберт Винер, "отец" кибернетики. А именно: Информация – это обозначение содержания, полученного из внешнего мира в процессе нашего приспособления к нему и приспособления к нему наших чувств.

Люди обмениваются информацией в форме сообщений. Сообщение – это форма представления информации в виде речи, текстов, жестов, взглядов, изображений, цифровых данных, графиков, таблиц и т.п.

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

Применительно к компьютерной обработке данных под информацией понимают некоторую последовательность символических обозначений (букв, цифр, закодированных графических образов и звуков и т.п.), несущую смысловую нагрузку и представленную в понятном компьютеру виде. Каждый новый символ в такой последовательности символов увеличивает информационный объём сообщения.



Виды существования информации

Информация может существовать в виде:

Текстов, рисунков, чертежей, фотографий;

Световых или звуковых сигналов;

Радиоволн;

Электрических и нервных импульсов;

Магнитных записей; и т.д.

Предметы, процессы, явления материального или нематериального свойства, рассматриваемые с точки зрения их информационных свойств, называются информационными объектами.

Информацию можно:

Все эти процессы, связанные с определенными операциями над информацией, называются информационными процессами.

Свойства информации

Информация достоверна, если она отражает истинное положение дел . Недостоверная информация может привести к неправильному пониманию или принятию неправильных решений.

Достоверная информация со временем может стать недостоверной, так как она обладает свойством устаревать, то есть перестаёт отражать истинное положение дел.

Информация полна , если её достаточно для понимания и принятия решений. Как неполная, так и избыточная информация сдерживает принятие решений или может повлечь ошибки.

Точность информации определяется степенью ее близости к реальному состоянию объекта, процесса, явления и т.п.

Ценность информации зависит от того, насколько она важна для решения задачи, а также от того, насколько в дальнейшем она найдёт применение в каких-либо видах деятельности человека.

Только своевременно полученная информация может принести ожидаемую пользу. Одинаково нежелательны как преждевременная подача информации (когда она ещё не может быть усвоена), так и её задержка.

Если ценная и своевременная информация выражена непонятным образом, она может стать бесполезной.

Информация становится понятной , если она выражена языком, на котором говорят те, кому предназначена эта информация.

Информация должна преподноситься в доступной (по уровню восприятия) форме. Поэтому одни и те же вопросы по разному излагаются в школьных учебниках и научных изданиях.

Информацию по одному и тому же вопросу можно изложить кратко (сжато, без несущественных деталей) или пространно (подробно, многословно). Краткость информации необходима в справочниках, энциклопедиях, учебниках, всевозможных инструкциях.

Представление данных в ЭВМ

Вся информация в ЭВМ хранится в виде наборов бит, то есть комбинаций 0 и 1. Числа представляются двоичными комбинациями в соответствии с числовыми форматами, принятыми для работы в данной ЭВМ, а символьный код устанавливает соответствие букв и других символов двоичным комбинациям.

Для чисел имеется три числовых формата:

Двоичный с фиксированной точкой;

Двоичный с плавающей запятой;

Двоично-кодированный десятичный (BCD).

Числа с плавающей запятой обрабатываются на специальном сопроцессоре (FPU - floating point unit), который, начиная с МП I486, входит в состав БИС микропроцессора. Данные в нем хранятся в 80-разрядных регистрах.

Система счисления.

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

В повседневной практике мы пользуемся, как правило, десятичной системой счисления.

Системы счисления принято подразделять на…

1. Позиционные.

2. Непозиционные.

3. Символические.

Символические . В этих системах каждому числу ставится в соответствие свой символ. Эти системы не находят широкого применения в силу естественной их ограниченности (алхимия, кодированные сообщения) - бесчисленного множества символов, которое требуется для изображения всех возможных чисел. Поэтому эти системы из рассмотрения опустим.

Тема 1. Принципы организации ЭВМ

Кодирование информации в ЭВМ.

Кодированием называется представление символов одного алфавита средствами другого алфавита.

Величина способная принимать только два различных значения называется битом .

Как представить символы другого алфавита с помощью двоичного алфавита?

Для кодирования алфавитов, содержащих более 2-х символов используются последовательности символов двоичного алфавита. Например, последовательностью из двух двоичных символов можно закодировать 4 символа другого алфавита:

00 --> А 01 à В 10 à С 11 à D .

Можно показать, что число возможных комбинаций при использовании двоичного алфавита равно 2 n , где n количество двоичных символов в последовательности. При n равном 8 число возможных комбинаций равно 256, что вполне достаточно для кодирования большинства известных алфавитов, поэтому последовательность из восьми двоичных символов широко используется для кодирования информации в ЭВМ. Последовательность из восьми двоичных разрядов принято называть байтом .

Пример кодирования:

символ А à 1100 0001 символ 9 à 1111 1001.

В настоящее время для кодирования символов используются также последовательности из 16 двоичных символов (2 байта).

Техническим носителем информации в ЭВМ является ячейка памяти, состоящая из совокупности простейших элементов, каждый из которых может находиться в одном из двух возможных состояний (обозначаемых как 0 и 1). Ячейка памяти может содержать различное число простейших элементов. Обычно количество элементов в ячейке кратно 8.

Для измерения памяти используются также более крупные единицы:

1 килобайт (кб) = 2 10 байт = 1024 байт;

1 мегабайт (мб) =2 20 байт = 1048576 байт;

1 гигабайт (гб) = 2 30 байт =

Машинным кодом (или просто кодом) называется совокупность 0 и 1, которую может хранить ячейка памяти.

Код длиной в 2 байта называется полусловом,

код длиной в 4 байта называется словом,

код длиной в 8 байта называется двойным словом.

Архитектура ЭВМ

Во все времена человек стремился расширить свои возможности создавая различные приборы (орудия труда, познания мира). Например недостаточность зрения он компенсировал микроскопом и телескопом. Ограниченные воэможности передавать информацию друг другу расширяются при помощи телефона радио и телевидения.

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

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

Идея использования программного управления для построения автоматического вычислительного устройства впервые была высказана английским математиком Чарлзом Бэббиджем еще в 1833 г. Однако низкий уровень развития науки и техники не позволил в то время создать автоматическое вычислительное устройство. Идея программного управления получила дальнейшее развитие в работах американского ученого Джона фон Неймана.

В 40-х годах 20 века работы в области ядерной физики, баллистики, аэродинамики и т.п. потребовали огромной вычислительной работы. Наука и техника были поставлены перед диллемой: или всем сесть за арифмометры, или сделать новый эффективный автоматический инструмент для вычислений. Как раз в это время Дж. Фон Нейман сформулировал основные принципы построения вычислительной машины. В результате в 1945 году была построена первая вычислительная машина, а с 1953 года началось серийное изготовление ЭВМ.

Архитектура ЭВМ предложенная Нейманом приведена на рис. 1.1.1. ЭВМ содержит:

Устройства ввода (например клавиатуру) для ввода программ и данных в ЭВМ;

- Устройства вывода (например монитор, принтер и т.п.) для вывода данных из ЭВМ;

- память - устройство для хранения информации. Память может быть построена на различных физических принципах, но в любом случае она представляет собой совокупность ячеек, в которых можно хранить в закодированном виде различные данные (числа, символы). Все ячейки памяти пронумерованы. номер ячейки памяти называется адресом.

- процессор – это устройство, способное выполнять некоторый заданный набор операций над данными и вырабатывать значения заданного набора логических условий над этими данными. Процессор состоит из устройства управления (УУ) и арифметико логического устройства (АЛУ).

УУ предназначено для выполнения команд и управления работой ЭВМ при выполнении отдельной команды.

АЛУ предназначено для выполнения арифметических и логических операций, набор которых определяется системой команд, принятой для данного типа ЭВМ.

Программа - это алгоритм решения задачи, представленный в форме понятной ЭВМ.

В основе ЭВМ лежит два фундаментальных принципа Дж. Фон Неймана.

1 Принцип хранимой в памяти программы . Согласно этому принципу программа, закодированная в цифровом виде хранится в памяти ЭВМ наряду с числами (данными). В командах указываются не сами числа, участвующие в операциях, а адреса ячеек памяти, в которых они находятся.

Пример команды

КО А1 А2 А3

где КО – код операции; А1 – адрес первого операнда; А2 – адрес второго операнда; А3 – адрес ячейки памяти в которую надо поместить результат. КО, А1, А2, А3 представляют собой последователиности нулей и единиц. Например

А1: 00011110……110001 (32 разряда).

Если КО это код операции сложения, то смысл этой команды можно сформулировать так:

Взять данное из ячейки с адресом А1;

Взять данное из ячейки с адресом А2;

Выполнить операцию сложения этих данных;

Поместить результат в ячейку с адресом А3.

Заметим, что в командах указываются не обрабатываемые данные, а адреса ячеек памяти. Все это делает ЭВМ универсальным средством обработки информации. Чтобы решить другую задачу не требуется изменять аппаратуру. Достаточно ввести в память другую программу и данные.

2.Принцип произвольного доступа к основной памяти . Согласно этому принципу процессору в произвольный момент времени доступна любая ячейка памяти.

Принцип действия ЭВМ

В соответствии с этими принципами ЭВМ следующим образом решает задачу.

1.Программа в виде последовательности команд в закодированном виде (машинная программа) размещается в памяти ЭВМ.

2. В памяти также размещаются и все данные которые использует программа.

3.Процессор считывает из памяти очередную команду, УУ расшифровывает ее и определяет кто должен ее выполнять (УВВ, АЛУ,). Если это команда арифметического типа, то управление передается АЛУ, которое определяет какую операцию и над какими данными надо выполнить. Затем АЛУ извлекает из памяти значения данных и выполняет указанную операцию.После передачи результата в память АЛУ сообщает УУ, что можно выполнять следующую команду.

Практически все выпускаемые в настоящее время ЭВМ имеют Неймановскую архитектуру (структура ЭВМ может быть разной).

Представление данных в ЭВМ.

Машинный код обрабатываемой информации (данные) называется операндом. По смысловому содержанию операнды делятся на символьные и числовые.

Символьные операнды.

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

Например А (рус) : 11100001: А (лат) 01000001 .

Числовые данные.

Представление данных в ЭВМ.

За основу представления данных в ЭВМ, как правило, принята двоичная система счисления . Как и десятичная система счисления, двоичная система (в которой используются лишь цифры 0 или 1) является позиционной системой счисления, т.е. в ней значение каждой цифры числа зависит от положения (позиции) этой цифры в записи числа. Каждой позиции присваивается определенный вес.

В компьютерной технике широкое распространение получили также следующие позиционные системы счисления: восьмеричная, шестнадцатеричная и двоично-десятичная система.

(В двух словах – 16- ная система – это простое решение сложной проблемы – точное представление данных в ЭВМ, 16 –ная система счисления – это краткая нотация двоичной системы).

Форматы файлов

Основное назначение файлов - хранить информацию. Они также предназначены для передачи данных от программы к программе и от системы к системе. Другими словами, файл - это хранилище стабильных и мобильных данных. Но, файл - это нечто большее, чем просто хранилище данных. Обычно файл имеет имя, атрибуты, время модификации и время создания . Понятие файла менялось с течением времени. Операционные системы первых больших ЭВМ представляли файл, как хранилище для базы данных и, поэтому файл являлся набором записей. Обычно все записи в файле были одного размера, часто по 80 символов каждая. При этом много времени уходило на поиск и запись данных в большой файл. В конце 60-х годов наметилась тенденция к упрощению операционных систем, что позволило использовать их на менее мощных компьютерах. Это нашло свое отражение и в развитии операционной системы Unix. В Unix под файлом понималась последовательность байтов . Стало легче хранить данные на диске, так как не надо было запоминать размер записи. Unix оказал очень большое влияние на другие операционные системы персональных компьютеров. Почти все они поддерживают идею Unix о том, что файл - это просто последовательность байтов. Файлы, представляющие собой поток данных, стали использоваться при обмене информацией между компьютерными системами. Если используется более сложная структура файла (как в операционных системах OS/2 и Macintosh), она всегда может быть преобразована в поток байтов, передана и на другом конце канала связи воссоздана в исходном виде.

Файловая структура представляет собой систему хранения файлов на запоминающем устройстве, например, диске. Файлы организованы в каталоги (иногда называемые директориями или папками). Любой каталог может содержать произвольное число подкаталогов, в каждом из которых могут храниться файлы и другие каталоги. Способ, которым данные организованы в байты, называется форматом файла . Для того чтобы прочесть файл, например, электронной таблицы, необходимо знать, каким образом байты представляют числа (формулы, текст) в каждой ячейке; чтобы прочесть файл текстового редактора, надо знать, какие байты представляют символы, а какие шрифты или поля, а также другую информацию. Программы могут хранить данные в файле таким способом, какой выберет программист. Зачастую предполагается, однако, что файлы будут использоваться различными программами. По этой причине многие прикладные программы поддерживают некоторые наиболее распространенные форматы, так что другие программы могут понять данные в файле. Компании по производству программного обеспечения (которые хотят, чтобы их программы стали "стандартами"), часто публикуют информацию относительно форматов, которые они создали, чтобы их можно было бы использовать в других приложениях. Все файлы условно можно разделить на две части - текстовые и двоичные.

Текстовые файлы - наиболее распространенный тип данных во всем компьютерном мире. Для хранения каждого символа чаще всего отводится один байт, а кодирование текстовых файлов выполняют с помощью специальных таблиц, в которых каждому символу соответствует определенное число, не превышающее 255. Файл, для кодировки которого используется только 127 первых чисел, называется ASCII-файлом (сокращение от American Standard Code for Information Interchange - американский стандартный код для обмена информацией), но в таком файле не могут быть представлены буквы, отличные от латиницы (в том числе и русские). Большинство национальных алфавитов можно закодировать с помощью восьмибитной таблицы. Для русского языка наиболее популярны на данный момент три кодировки: Koi8-R, Windows-1251 и, так называемая, альтернативная (alt) кодировка. Подробнее о кодировании русского текста рассказано в главе "Обработка документов". Такие языки, как китайский, содержат значительно больше 256 символов, поэтому для кодирования каждого из них используют несколько байтов. Для экономии места зачастую применяется следующий прием: некоторые символы кодируются с помощью одного байта, в то время как для других используются два или более байтов. Одной из попыток обобщения такого подхода является стандарт Unicode , в котором для кодирования символов используется диапазон чисел от нуля до 65 536. Такой широкий диапазон позволяет представлять в численном виде символы языка людей из любого уголка планеты. Но чисто текстовые файлы встречаются все реже. Люди хотят, чтобы документы содержали рисунки и диаграммы и использовали различные шрифты. В результате появляются форматы, представляющие собой различные комбинации текстовых, графических и других форм данных.

Двоичные файлы, в отличие от текстовых, не так просто просмотреть и в них, обычно, нет знакомых нам слов - лишь множество непонятных символов. Эти файлы не предназначены непосредственно для чтения человеком. Примерами двоичных файлов являются исполняемые программы и файлы с графическими изображениями.

Кодирование чисел

Существуют два основных формата представления чисел в памяти компьютера. Один из них используется для кодирования целых чисел, второй (так называемое представление числа в формате с плавающей точкой) используется для задания некоторого подмножества действительных чисел. Множество целых чисел , представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера области памяти, используемой для размещения чисел. В k-разрядной ячейке может храниться 2 k различных значений целых чисел. Чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове, необходимо:

    перевести число N в двоичную систему счисления;

    полученный результат дополнить слева незначащими нулями до k разрядов.

Пример . Получить внутреннее представление целого числа 1607 в 2-х байтовой ячейке.

Переведем число в двоичную систему: 1607 10 = 11001000111 2 . Внутреннее представление этого числа в ячейке будет следующим: 0000 0110 0100 0111.

Для записи внутреннего представления целого отрицательного числа (-N) необходимо:

    получить внутреннее представление положительного числа N;

    обратный код этого числа заменой 0 на 1 и 1 на 0;

    полученному числу прибавить 1.

Пример . Получим внутреннее представление целого отрицательного числа -1607. Воспользуемся результатом предыдущего примера и запишем внутреннее представление положительного числа 1607: 0000 0110 0100 0111. Инвертированием получим обратный код: 1111 1001 1011 1000. Добавим единицу: 1111 1001 1011 1001 - это и есть внутреннее двоичное представление числа -1607.

Формат с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления n в некоторой целой степени p, которую называют порядком: R = m * n p .

Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства:

12.345 = 0.0012345 x 10 4 = 1234.5 x 10 -2 = 0.12345 x 10 2

Чаще всего в ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в таком представлении должна удовлетворять условию: 0.1 p <= m < 1p. Иначе говоря, мантисса меньше 1 и первая значащая цифра - не ноль (p - основание системы счисления).

В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся), так для числа 12.345 в ячейке памяти, отведенной для хранения мантиссы, будет сохранено число 12345. Для однозначного восстановления исходного числа остается сохранить только его порядок, в данном примере - это 2.

Кодирование текста

Множество символов, используемых при записи текста, называется алфавитом . Количество символов в алфавите называется его мощностью .

Для представления текстовой информации в компьютере чаще всего используется алфавит мощностью 256 символов. Один символ из такого алфавита несет 8 бит информации, т. к. 2 8 = 256. Но 8 бит составляют один байт, следовательно, двоичный код каждого символа занимает 1 байт памяти ЭВМ.

Все символы такого алфавита пронумерованы от 0 до 255, а каждому номеру соответствует 8-разрядный двоичный код от 00000000 до 11111111. Этот код является порядковым номером символа в двоичной системе счисления.

Для разных типов ЭВМ и операционных систем используются различные таблицы кодировки, отличающиеся порядком размещения символов алфавита в кодовой таблице. Международным стандартом на персональных компьютерах является уже упоминавшаяся таблица кодировки ASCII.

Принцип последовательного кодирования алфавита заключается в том, что в кодовой таблице ASCII латинские буквы (прописные и строчные) располагаются в алфавитном порядке. Расположение цифр также упорядочено по возрастанию значений.

Стандартными в этой таблице являются только первые 128 символов, т. е. символы с номерами от нуля (двоичный код 00000000) до 127 (01111111). Сюда входят буквы латинского алфавита, цифры, знаки препинания, скобки и некоторые другие символы. Остальные 128 кодов, начиная со 128 (двоичный код 10000000) и кончая 255 (11111111), используются для кодировки букв национальных алфавитов, символов псевдографики и научных символов. О кодировании символов русского алфавита рассказывается в главе "Обработка документов".

Кодирование графической информации

В видеопамяти находится двоичная информация об изображении, выводимом на экран. Почти все создаваемые, обрабатываемые или просматриваемые с помощью компьютера изображения можно разделить на две большие части - растровую и векторную графику.

Растровые изображения представляют собой однослойную сетку точек, называемых пикселами (pixel, от англ. picture element). Код пиксела содержит информацию о его цвете. Для черно-белого изображения (без полутонов) пиксел может принимать только два значения: белый и черный (светится - не светится), а для его кодирования достаточно одного бита памяти: 1 - белый, 0 - черный. Пиксел на цветном дисплее может иметь различную окраску, поэтому одного бита на пиксел недостаточно. Для кодирования 4-цветного изображения требуются два бита на пиксел, поскольку два бита могут принимать 4 различных состояния. Может использоваться, например, такой вариант кодировки цветов: 00 - черный, 10 - зеленый, 01 - красный, 11 - коричневый.

На RGB-мониторах все разнообразие цветов получается сочетанием базовых цветов - красного (Red), зеленого (Green), синего (Blue), из которых можно получить 8 основных комбинаций:

цвет

цвет

коричневый

Разумеется, если иметь возможность управлять интенсивностью (яркостью) свечения базовых цветов, то количество различных вариантов их сочетаний, порождающих разнообразные оттенки, увеличивается. Количество различных цветов - К и количество битов для их кодировки - N связаны между собой простой формулой: 2 N = К.

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

Объекты векторного изображения, в отличии от растровой графики, могут изменять свои размеры без потери качества (при увеличении растрового изображения увеличивается зернистость). Подробнее о графических форматах рассказывается в разделе "Графика на компьютере".

Кодирование звука

Из курса физики вам известно, что звук - это колебания воздуха. Если преобразовать звук в электрический сигнал (например, с помощью микрофона), мы увидим плавно изменяющееся с течением времени напряжение. Для компьютерной обработки такой - аналоговый - сигнал нужно каким-то образом преобразовать в последовательность двоичных чисел.

Поступим следующим образом. Будем измерять напряжение через равные промежутки времени и записывать полученные значения в память компьютера. Этот процесс называется дискретизацией (или оцифровкой), а устройство, выполняющее его - аналого-цифровым преобразователем (АЦП).

Для того чтобы воспроизвести закодированный таким образом звук, нужно выполнить обратное преобразование (для него служит цифро-аналоговый преобразователь - ЦАП), а затем сгладить получившийся ступенчатый сигнал.

Чем выше частота дискретизации (т. е. количество отсчетов за секунду) и чем больше разрядов отводится для каждого отсчета, тем точнее будет представлен звук. Но при этом увеличивается и размер звукового файла. Поэтому в зависимости от характера звука, требований, предъявляемых к его качеству и объему занимаемой памяти, выбирают некоторые компромиссные значения.

Описанный способ кодирования звуковой информации достаточно универсален, он позволяет представить любой звук и преобразовывать его самыми разными способами. Но бывают случаи, когда выгодней действовать по-иному.

Человек издавна использует довольно компактный способ представления музыки - нотную запись. В ней специальными символами указывается, какой высоты звук, на каком инструменте и как сыграть. Фактически, ее можно считать алгоритмом для музыканта, записанным на особом формальном языке. В 1983 г. ведущие производители компьютеров и музыкальных синтезаторов разработали стандарт, определивший такую систему кодов. Он получил название MIDI.

Конечно, такая система кодирования позволяет записать далеко не всякий звук, она годится только для инструментальной музыки. Но есть у нее и неоспоримые преимущества: чрезвычайно компактная запись, естественность для музыканта (практически любой MIDI-редактор позволяет работать с музыкой в виде обычных нот), легкость замены инструментов, изменения темпа и тональности мелодии.

Заметим, что существуют и другие, чисто компьютерные, форматы записи музыки. Среди них следует отметить формат MP3, позволяющий с очень большим качеством и степенью сжатия кодировать музыку. При этом вместо 18-20 музыкальных композиций на стандартный компакт-диск (CDROM) помещается около 200. Одна песня занимает примерно 3,5 Mb, что позволяет пользователям сети Интернет легко обмениваться музыкальными композициями.

Типы данных

Основными типами данных в вычислительной технике являются: бит, байт и слово. Компьютеры работают в основном с байтами , которые являются основной операционной единицей компьютерных данных. Машинное слово (слово) технический термин, означающий 16 бит или 2 байта одновременно. Двойное слово – 4 байта, расширенное слово – 8 байт.

Старший бит (15) Бит Младший бит (0)

1 1 1 0 1 0 1 1 0 1 0 1 0 1 0 1

Байт Байт

Для представления данных существует три основных формата:

    двоичный с фиксированной запятой;

    двоичный с плавающей запятой;

    двоично-кодированный десятичный (BCD).

Если надо закодировать целое число со знаком, то старший бит регистра (ячейки памяти) используется для хранения знака (0 при положительном знаке числа и 1 при отрицательном) – формат с фиксированной запятой.

Знак числа 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1

Цифры числа

Исходные возможности компьютера позволяют ему работать только с целыми числами, к тому же не самыми большими. Даже в случае 2х байтового слова, мы можем записать максимальное число 65536, учитывая необходимость отображения, как положительных чисел, так и отрицательных получаем только половину всех числовых значений. Способы представления чисел и программное обеспечение позволяют значительно расширить возможности компьютера. Для кодирования действительных чисел используют 80-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму:

3,1415926 = 0,31415926 * 10 1

500 000 = 0,5 * 10 6

123 456 789 = 0,1 * 10 10

Первая часть числа называется мантиссой - М, а вторая – порядком q

Для того чтобы оперировать дробными числами или числами очень большой длины, используется понятие плавающей запятой . Плавающая запятая действует по принципу экспоненциального формата – числа вида -- -- - - + M *q + p

Знак числа (мантиссы)

Знак порядка Модуль Модуль

мантиссы порядка

Необходимо отметить что, вычисления с целыми числами выполняются очень быстро, в то время как вычисления с плавающей запятой в сотни раз медленнее.

Для реализации скоростных вычислений с плавающей запятой применяются числовые сопроцессоры (FPU – floating point unit). Данные в нем хранятся в 80-ти разрядных регистрах.

В двоично-кодированном десятичном формате каждая десятичная цифра представляется в виде 4-х битного двоичного эквивалента. Существует две основные разновидности этого формата: упакованный и неупакованный. В упакованном BCD-формате цепочка десятичных цифр хранится в виде последовательности 4-х битовых групп. В неупакованном формате каждая десятичная цифра находится в младшей тетраде байта, а содержимое старшей тетрады определяется используемой ЭВМ конкретной системой кодирования, и в данном случае несущественно.

Кроме этого, данные бывают в виде строк – непрерывная последовательность бит или байт, символьные данные, поддерживаемые кодом ASCII и данные типа указатель. Более подробно мы с ними познакомимся после изучения архитектуры компьютера.

Выводы

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

Несмотря на огромный прогресс компьютерных технологий, фундаментальные принципы функционирования компьютера как инструмента для хранения, обработки и передачи информации не изменились.

Информация не может существовать вне взаимодействия объектов и она не теряется ни одним из них в процессе взаимодействия.

Информация устраняет неопределенность, уменьшает хаос и энтропию системы.

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

Существуют следующие важнейшие структуры: линейная, табличная и иерархическая. В ЭВМ применяется универсальная система кодирования, называемая двоичным кодом. Элементарной единицей представления данных называется – бит, далее идут байт, слово, двойное слово.

Вопросы и задания

    Как вы понимаете термин «средства массовой информации»? Что это?

    Являются ли данные товаром? Могут ли методы быть товаром?

    Определите в каком из сообщений содержится больше информации:

    Собака укусила мальчика;

    Мальчик укусил собаку.

    Что происходит с информацией по окончании информационного процесса?

    Перечислите основные составляющие информационного процесса.

    Что такое позиционная система счисления? Дайте примеры таких систем.

    Какое число является основанием десятичной, двоичной системы счисления?

    Перевести число из одной системы счисления в другую:

    2 10 = Х 2 , 1011 2 = Х 10 , 16 10 = Х 2, 1011,1 2 =Х 10

    Записать двоичное число, соответствующее десятичному числу 5 в однобайтовом формате.

Другим примером может служить семейство ЭВМ, разработанное под руководством Израиля Яковлевича Акушского (1911–1992). Для ускорения ряда арифметических операций он предложил использовать не позиционную (традиционную двоичную, или троичную, как у Брусенцова), а оригинальную систему вычислений в остаточных классах (СОК). Работы над ЭВМ в СОК начались в 1957 году в СКБ-245, затем продолжались в других организациях. В то время, когда скорость традиционных ЭВМ измерялась десятками тысяч оп./с, быстродействие ЭВМ в СОК на определенном классе задач достигало миллиона оп./с. Машины Акушского успешно использовались в интересах ПВО страны.

Для представления информации в памяти ЭВМ (как числовой, так и нечисловой) используется двоичный способ кодирования. Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (его называют адресом). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машинным словом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32 битам и т.д. Для кодирования символов достаточно одного байта. При этом можно представить 256 символов (с десятичными кодами от 0 до 255). Набор символов персональных ЭВМ IBM PC чаще всего является расширением кода ASCII (American Standart Code for Information Interchange - стандартный американский код для обмена информацией). В некоторых случаях при представлении в памяти ЭВМ чисел используется смешанная двоично-десятичная «система счисления», где для хранения каждого десятичного знака нужен полубайт (4 бита) и десятичные цифры от 0 до 9 представляются соответствующими двоичными числами от 0000 до 1001. Например, упакованный десятичный формат, предназначенный для хранения целых чисел с 18 значащими цифрами и занимающий в памяти 10 байт (старший из которых знаковый), использует именно этот вариант. Другой способ представления целых чисел - дополнительный код. Диапазон значений величин зависит от количества бит памяти, отведенных для их хранения. Например, величины типа Integer (все названия типов данных здесь и ниже представлены в том виде, в каком они приняты в языке программирования Turbo Pascal, в других языках такие типы данных тоже есть, но могут иметь другие названия) лежат в диапазоне от -32768 (-2 15) до 32767 (2 15 - 1), и для их хранения отводится 2 байта; типа Longlnt - в диапазоне от -2 31 до 2 31 - 1 и размещаются в 4 байтах; типа Word - в диапазоне от 0 до 65535 (2 16 - 1) (используется 2 байта) и т.д. Как видно из примеров, данные могут быть интерпретированы как числа со знаками, так и без знаков. В случае представления величины со знаком самый левый (старший) разряд указывает на положительное число, если содержит нуль, и на отрицательное, если - единицу. Вообще разряды нумеруются справа налево, начиная с 0. Ниже показана нумерация бит в двухбайтовом машинном слове. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Дополнительный код положительного числа совпадает с его прямым кодом. Прямой код целого числа может быть получен следующим образом: число переводится в двоичную систему счисления, а затем его двоичную запись слева дополняют таким количеством незначащих нулей, сколько требует тип данных, к которому принадлежит число. Например, если число 37 (10) = 100101 (2) объявлено величиной типа Integer, то его прямым кодом будет 0000000000100101, а если величиной типа Longlnt, то его прямой код будет. Для более компактной записи чаще используют шестнадцатеричный код. Полученные коды можно переписать соответственно как 0025 (16) и 00000025 (16) . Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму: 1) записать прямой код модуля числа; 2) инвертировать его (заменить единицы нулями, нули - единицами); 3) прибавить к инверсному коду единицу. Например, запишем дополнительный код числа (-37), интерпретируя его как величину типа Longlnt: 1) прямой код числа 37 есть; 2) инверсный код; 3) дополнительный код или FFFFFFDB (16) . При получении числа по его дополнительному коду прежде всего необходимо определить его знак. Если число окажется положительным, то просто перевести его код в десятичную систему счисления. В случае отрицательного числа необходимо выполнить следующий алгоритм: 1) вычесть из кода числа 1; 2) инвертировать код; 3) перевести в десятичную систему счисления. Полученное число записать со знаком минус. Примеры. Запишем числа, соответствующие дополнительным кодам: а) 0000000000010111. Поскольку в старшем разряде записан нуль, то результат будет положительным. Это код числа 23; б) 1111111111000000. Здесь записан код отрицательного числа. Исполняем алгоритм: 1) 1111I11111000000 (2) - 1 (2)= 1111111110111111 (2) ; 2) 0000000001000000; 3) 1000000 (2) = 64 (10) . Ответ: -64. Несколько иной способ применяется для представления в памяти персонального компьютера действительных чисел. Рассмотрим представление величин с плавающей точкой. Любое действительное число можно записать в стандартном виде М10 р, где 1

Персональный компьютер IBM PC позволяет работать со следующими действительными типами (диапазон значений указан по абсолютной величине): Покажем преобразование действительного числа для представления его в памяти ЭВМ на примере величины типа Double. Как видно из таблицы, величина это типа занимает в памяти 8 байт. На рисунке показано, как здесь представлены поля мантиссы и порядка: Можно заметить, что старший бит, отведенный под мантиссу, имеет номер 51, т.е. мантисса занимает младшие 52 бита. Черта указывает здесь на положение двоичной запятой. Перед запятой должен стоять бит целой части мантиссы, но поскольку она всегда равна 1, здесь данный бит не требуется и соответствующий разряд отсутствует в памяти (но он подразумевается). Значение порядка для упрощения вычислений и сравнения действительных чисел хранится в виде смещенного числа, т.е. к настоящему значению порядка перед записью его в память прибавляется смещение. Смещение выбирается так, чтобы минимальному значению поряд- ка соответствовал нуль. Например, для типа Double порядок занимает 11 бит и имеет диапазон от 2~ 1023 до 2 1023 , поэтому смещение равно Ю23 (10) = 1111111111 (2) . Наконец, бит с номером 63 указывает на знак числа. Таким образом, из вышесказанного вытекает следующий алгоритм для получения представления действительного числа в памяти ЭВМ: 1) перевести модуль данного числа в двоичную систему счисления; 2) нормализовать двоичное число, т.е. записать в виде М-2 Р, где М- мантисса (ее целая часть равна 1 (2)) и р - порядок, записанный в десятичной системе счисления; 3) прибавить к порядку смещение и перевести смещенный порядок в двоичную систему счисления; 4) учитывая знак заданного числа (0 - положительное; 1 - отрицательное), выписать его представление в памяти ЭВМ. Пример. Запишем код числа -312,3125. 1) Двоичная запись модуля этого числа имеет вид 100111000,0101. 2) Имеем 100111000,0101 = 1,001110000101 2 8 . 3) Получаем смещенный порядок 8 + 1023 = 1031. Далее имеем Ю31 (10) = = 10000000111 (2) . . 4) Окончательно

1) Прежде всего замечаем, что это код положительного числа, поскольку в разряде с номером 63 записан нуль. Получим порядок этого числа: 01111111110 (2) = 1022 (10) ; 1022 - 1023 = -1. 2) Число имеет вид 1,1100011-2“ 1 или 0,11100011. 3) Переводом в десятичную систему счисления получаем 0,88671875.

Для представления информации в памяти ЭВМ (как числовой, так и не числовой) используется двоичный способ кодирования.

Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (его называют адресом ). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машинным словом . Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32, 64 битам и т.д.

Двоично-десятичное кодирование

В некоторых случаях при представлении чисел в памяти ЭВМ используется смешанная двоично-десятичная "система счисления", где для хранения каждого десятичного знака нужен полубайт (4 бита) и десятичные цифры от 0 до 9 представляются соответствующими двоичными числами от 0000 до 1001. Например, упакованный десятичный формат, предназначенный для хранения целых чисел с 18-ю значащими цифрами и занимающий в памяти 10 байт (старший из которых знаковый), использует именно этот вариант.

Представление целых чисел в дополнительном коде

Другой способ представления целых чисел - дополнительный код . Диапазон значений величин зависит от количества бит памяти, отведенных для их хранения. Например, величины типа Integer (все названия типов данных здесь и ниже представлены в том виде, в каком они приняты в языке программирования Turbo Pascal. В других языках такие типы данных тоже есть, но могут иметь другие названия) лежат в диапазоне от -32768 (-2 15) до 32767 (2 15 - 1) и для их хранения отводится 2 байта (16 бит); типа LongInt - в диапазоне от -2 31 до 2 31 - 1 и размещаются в 4 байтах (32 бита); типа Word - в диапазоне от 0 до 65535 (2 16 - 1) (используется 2 байта) и т.д.

Как видно из примеров, данные могут быть интерпретированы как числа со знаком , так и без знака . В случае представления величины со знаком самый левый (старший) разряд указывает на положительное число, если содержит нуль, и на отрицательное, если - единицу.

Вообще, разряды нумеруются справа налево, начиная с 0. Ниже показана нумерация бит в двухбайтовом машинном слове.

Дополнительный код положительного числа совпадает с его прямым кодом . Прямой код целого числа может быть получен следующим образом: число переводится в двоичную систему счисления, а затем его двоичную запись слева дополняют таким количеством незначащих нулей, сколько требует тип данных, к которому принадлежит число.

Например, если число 37 (10) = 100101 (2) объявлено величиной типа Integer (шестнадцатибитовое со знаком ), то его прямым кодом будет 0000000000100101, а если величиной типа LongInt (тридцатидвухбитовое со знаком ), то его прямой код будет. Для более компактной записи чаще используют шестнадцатеричное представление кода. Полученные коды можно переписать соответственно как 0025 (16) и 00000025 (16) .

Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму:

  1. записать прямой код модуля числа;
  2. инвертировать его (заменить единицы нулями, нули - единицами);
  3. прибавить к инверсному коду единицу.

Например, запишем дополнительный код числа -37, интерпретируя его как величину типа LongInt (тридцатидвухбитовое со знаком):

  1. прямой код числа 37 есть;
  2. инверсный код;
  3. дополнительный код или FFFFFFDB (16) .

При получении числа по его дополнительному коду прежде всего необходимо определить его знак. Если число окажется положительным, то просто перевести его код в десятичную систему счисления. В случае отрицательного числа необходимо выполнить следующий алгоритм.