Как работает оперативная память вашего компьютера

Компьютер обрабатывает только числовую информацию в двоичных кодах

1. Два текста содержат одинаковое количество символов. Первый текст записан на русском языке, а второй на языке племени нагури, алфавит которого состоит из 16 символов. Чей текст несет большее количество информации?

Решение.

I = К * а (информационный объем текста равен произведению числа символов на информационный вес одного символа).
Т.к. оба текста имеют одинаковое число символов (К), то разница зависит от информативности одного символа алфавита (а).
2 а1 = 32, т.е. а1 = 5 бит,
2 а2 = 16, т.е. а2 = 4 бит.
I1 = К * 5 бит, I2 = К * 4 бит.
Значит, текст, записанный на русском языке в 5/4 раза несет больше информации.

2. Объем сообщения, содержащего 2048 символов, составил 1/512 часть Мбайта. Определить мощность алфавита.

Решение.

I = 1/512 * 1024 * 1024 * 8 = 16384 бит. — перевели в биты информационный объем сообщения.
а = I / К = 16384 /1024 =16 бит — приходится на один символ алфавита.
2 16 = 65536 символов — мощность использованного алфавита.
Именно такой алфавит используется в кодировке Unicode, который должен стать международным стандартом для представления символьной информации в компьютере.

Как работает процессор?

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

Помимо оперативной памяти, в компьютере имеется кэш-память. Если вам интересна эта тема, можете изучить наш недавний материал.

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

Что такое регистр? Регистр в процессоре представлен в виде триггера, который может хранить 1 бит информации. Триггер — это один из множества логических элементов в микрочипах. Благодаря своей логике он способен хранить информацию. Вот так выглядит D-триггер:

Это D-триггер и он способен хранить информацию. Каждое простейшее логическое устройство, включая D-триггер, состоит из логических операций. На фото выше можно заметить знак «&» — это логическое И

Таблица истинности для логического «И»

Верхний переключатель «D» в D-триггере меняет значение бита, а нижний «C» включает или отключает его хранение. Вам наверняка интересно, как устроен этот «D-триггер». Подробнее работу триггеров вы можете изучить по видеоролику ниже:

Помимо D-триггера, существуют также RS-триггер, JK-триггер и другие. Этой теме посвящена не одна книга, можете изучить логические устройства микрочипов самостоятельно. Было бы неплохо углубиться еще и в тему квантовых процессоров, потому что очевидно, что будущее именно за ними.

ЦП Автоматизированные системы управления и промышленная безопасность

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

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

Кодирование – это преобразование данных одного типа через данные другого типа. В ЭВМ применяется система двоичного кодирования, основанная на представлении данных последовательностью двух знаков: 1 и 0, которые называются двоичными цифрами (binary digit – сокращенно bit).

Целые числа кодируются двоичным кодом довольно просто (путем деления числа на два). Для кодирования нечисловой информации используется следующий алгоритм: все возможные значения кодируемой информации нумеруются и эти номера кодируются с помощью двоичного кода.

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

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

Кодирование целых чисел производиться через их представление в двоичной системе счисления: именно в этом виде они и помещаются в ячейке. Один бит отводиться при этом для представления знака числа (нулем кодируется знак «плюс», единицей – «минус»).

Для кодирования действительных чисел существует специальный формат чисел с плавающей запятой. Число при этом представляется в виде: , где M – мантисса, p – порядок числа N, q – основание системы счисления. Если при этом мантисса M удовлетворяет условию , то число N называют нормализованным.

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

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

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

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

Существующий стандарт ASCII (сокращение от American Standard Code for Information Intercange – американский стандартный код для обмена информацией; 8 – разрядная система кодирования) содержит две таблицы кодирования – базовую и расширенную. Первая таблица содержит 128 основных символов, в ней размещены коды символов английского алфавита, а во второй таблице кодирования содержатся 128 расширенных символов.

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

Так, например, кодировка символов русского языка Widows – 1251 используется для компьютеров, работающих под ОС Windows. Другая кодировка для русского языка – это КОИ – 8, которая также широко используется в компьютерных сетях и российском секторе Интернет.

В настоящее время существует универсальная система UNICODE, основанная на 16 – разрядном кодировании символов. Эта 16 – разрядная система обеспечивает универсальные коды для 65536 различных символов, т.е. в этой таблице могут разместиться символы языков большинства стран мира.

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

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

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

Для описания черно-белых изображений используются оттенки серого цвета, то есть при кодировании учитывается только яркость. Она описывается одним числом, поэтому для кодирования одного пикселя требуется от 1 до 8 бит: чёрный цвет – 0, белый цвет – N = 2 k -l, где k – число разрядов, которые отводятся для кодирования цвета. Например, при длине ячейки в 8 бит это 256-1 = 255. Человеческий глаз в состоянии различить от 100 до 200 оттенков серого цвета, поэтому восьми разрядов для этого вполне хватает.

Цветные изображения воспринимаются нами как сумма трёх основных цветов – красного, зелёного и синего. Например, сиреневый = красный + синий; жёлтый = красный + зелёный; оранжевый = красный + зелёный, но в другой пропорции. Поэтому достаточно закодировать цвет тремя числами – яркостью его красной, зелёной и синей составляющих. Этот способ кодирования называется RGB (Red – Green – Blue). Его используют в устройствах, способных излучать свет (мониторы). При рисовании на бумаге действуют другие правила, так как краски сами по себе не испускают свет, а только поглощают некоторые цвета спектра. Если смешать красную и зелёную краски, то получится коричневый, а не жёлтый цвет. Поэтому при печати цветных изображений используют метод CMY (Cyan – Magenta – Yellow) – голубой, сиреневый, жёлтый цвета. При таком кодировании красный = сиреневый + жёлтый; зелёный = голубой + жёлтый.

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

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

Как всякий звук, музыка является не чем иным, как звуковыми колебаниями, зарегистрировав которые достаточно точно, можно этот звук безошибочно воспроизвести. Нужно только непрерывный сигнал, которым является звук, преобразовать в последовательность нулей и единиц. С помощью микрофона звук можно превратить в электрические колебания и измерить их амплитуду через равные промежутки времени (несколько десятков тысяч раз в секунду). Каждое измерение записывается в двоичном коде. Этот процесс называется дискретизацией. Устройство для выполнения дискретизации называется аналогово-цифровым преобразователем (АЦП). Воспроизведение такого звука ведётся при помощи цифро-аналогового преобразователя (ЦАП). Полученный ступенчатый сигнал сглаживается и преобразуется в звук при помощи усилителя и динамика. На качество воспроизведения влияют частота дискретизации и разрешение (размер ячейки, отведённой под запись значения амплитуды). Например, при записи музыки на компакт-диски используются 16-разрядные значения и частота дискретизации 44 032 Гц.

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

Издавна используется достаточно компактный способ представления музыки – нотная запись. В ней с помощью специальных символов указывается высота и длительность, общий темп исполнения и как сыграть. Фактически, такую запись можно считать алгоритмом для музыканта, записанным на особом формальном языке. В 1983 г. ведущие производители компьютеров и музыкальных синтезаторов разработали стандарт, определивший такую систему кодов. Он получил название MIDI (Musical Instrument Digital Interface). При таком кодировании запись компактна, легко меняется инструмент исполнителя, тональность звучания, одна и та же запись воспроизводится как на синтезаторе, так и на компьютере.

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

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

Почему компьютеры используют двоичный код

Двоичная система счисления (0 и 1) часто ассоциируется с компьютерами. Но почему это так? Почему компьютеры не могут просто использовать базу 10 вместо преобразования в двоичный файл и обратно? Разве не эффективнее использовать более высокую базу, поскольку двоичное представление (база 2) использует больше «пробелов»? Ответ довольно прост.

Что такое «цифровой»?

Современный «цифровой» компьютер, в отличие от старого «аналогового» компьютера, работает по принципу двух возможных состояний: «включено» и «выключено». Это непосредственно соответствует присутствию либо электрического тока, либо отсутствию указанного электрического тока. Состоянию » on «присваивается значение «1», в то время как состояние» off «присваивается значение»0».

Термин «двоичный» подразумевает «два». Таким образом, двоичная система счисления – это система чисел, основанная на двух возможных цифрах — 0 и 1. Каждая двоичная цифра, или «бит», представляет собой 0 или 1, который непосредственно соответствует одному «переключателю» в цепи. Добавьте достаточно этих «переключателей» вместе, и вы можете представить больше чисел. Таким образом, вместо 1 цифры, вы в конечном итоге с 8, чтобы сделать байт. (Байт-основная единица хранения, просто определяется как 8 бит; известные килобайты, мегабайты и гигабайты являются производными от байта, и каждый из них в 1,024 раза больше другого. Существует 1024-кратная разница в отличие от 1000-кратной разницы, потому что 1024 — это степень 2, а 1000 — нет.)

Двоичный использует больше памяти, чем десятичный?

На первый взгляд кажется, что двоичное представление числа 10010110 занимает больше места, чем его десятичное (основание 10) представление 150. В конце концов, первое — это 8 цифр, а второе — 3 цифры. Однако это недопустимый аргумент в контексте отображения чисел на экране, так как все они хранятся в двоичном формате! Единственная причина, по которой 150 «меньше», чем 10010110, заключается в том, как мы пишем его на экране (или на бумаге).

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

А как насчет восьмеричного и шестнадцатеричного?

Восьмеричное (основание 8) и шестнадцатеричное (основание 16) — это просто «ярлык» для представления двоичных чисел, поскольку оба эти основания являются степенями 2. 3 восьмеричные цифры = 2 шестнадцатеричные цифры = 8 двоичных цифр = 1 байт. Программисту проще представить 32-разрядное целое число, часто используемое для 32-разрядных значений цвета, как FF00EE99 вместо 11111111000000001110111010011001.

Недвоичные компьютеры

Представьте себе компьютер, основанный на базе 10. Тогда каждый «переключатель» будет иметь 10 возможных состояний. Они могут быть представлены цифрами (известными как «запреты» или «dits», что означает «десятичные цифры») от 0 до 9. В этой системе числа будут представлены в базе 10. Это невозможно с обычными электронными компонентами сегодня, но теоретически возможно на квантовом уровне.

Является ли эта система более эффективной? Предполагая, что «переключатели» стандартного двоичного компьютера занимают то же самое количество физического пространства (нанометров), что и эти переключатели base-10, компьютер base-10 мог бы вместить значительно больше вычислительной мощности в то же самое физическое пространство. Таким образом, хотя вопрос о том, что двоичный код «неэффективен», имеет некоторую обоснованность в теории, но не в практическом использовании сегодня.

Тогда почему все современные компьютеры используют двоичный код?

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

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

Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

Биты и байты

Самая маленькая единица в компьютерной обработке, бит — это единица данных, которая может обладать одним из двух возможных условий. К примеру, каждая из единиц и нулей (справа) означает 1 бит. Бит можно представить и другими способами: наличием или отсутствием электрического тока, дырочкой и ее отсутствием, направлением намагничивания вправо или влево. Восемь битов составляют байт. 256 возможных байтов могут представить 256 знаков и символов. Многие компьютеры обрабатывают байт данных одновременно.

Двоичная конверсия. Четырехцифровой двоичный код может представить десятичные числа от 0 до 15.

Язык, понятный современной технике

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

  • Текстовую информацию с параметрами форматирования;
  • Числа и любые операции с ними;
  • Графические и видео изображения;
  • Звуки, в том числе и выходящие и за предел нашей слышимости;

Помимо этого, благодаря простоте «изложения» возможны различные способы записи бинарной информации:

  • Дырочки на перфоленте и перфокарте, соответствующие «1», были одновременно и одним из языков программирования;

Перфолента и перфокарта

  • Чередование ровной поверхности и выжженных впадин используется в CD и DVD дисках;

Как это на диске происходит?

  • Состоянием отдельных элементов группы транзисторов в USB накопителях;
  • Изменением магнитного поля на HDD дисках;

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

Так что, сегодня двоичная система счисления является языком, понятным большинству используемых нами электронных устройств. И что самое интересное, никакой другой альтернативы для него пока не предвидится.

Даже спутники так управляются

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

Я же буду прощаться и после небольшого перерыва подготовлю для вас новую статью моего блога, на какую-нибудь интересную тему.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector