Принцип однородности памяти

      Комментарии к записи Принцип однородности памяти отключены

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

Принцип адресности

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

Принцип программного управления

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

Принцип двоичного кодирования

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

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

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

Системы счисления

Системы счисления бывают позиционные и непозиционные. Примером непозиционной системы является представление чисел с помощью римских цифр I,V,X,C,L и т.д. Пример позиционной системы — привычная для нас десятичная система счисления. Любая позиционная система счисления строится по следующему общему принципу. Выбирается натуральное число p1 — основание системы счисления и задается упорядоченное множество цифр со значениями от 0 до p-1. Любое целое число N представимо в заданной системе счисления в виде многочлена:

N = a k p k + a k-1 p k-1 + . . . + a 1p 1 + a 0 = .

где ai — цифра, p — основание используемой системы счисления.

В позиционной системе счисления с основанием pэто число N сокращенно записывается в виде последовательности цифр:

N = ( a k a k-1 … a 1 a 0 )p.

Примеры:

1. 2536410 = 2 ? 104 + 5 ? 103 + 3 ? 102 + 6 ? 101 + 4 ? 100 ; ?

2. 10323 = 1 ? 33 + 0 ? 32 + 3 ? 31 + 2 ? 30 ;

3. 10110112 = 1 ? 26 + 0 ? 25 + 1 ? 24 + 1 ? 23 + 0 ? 22 + 1 ? 21 + 1 ? 20 .

С математической точки зрения десятичная система счисления не представляет из себя что-то особенное. Причиной ее возникновения является наличие на двух руках нормального человека десяти пальцев. Но люди не всегда считали в десятичной системе. До нашего времени дошли отголоски двенадцатеричной системы счисления, применявшейся когда-то на территории нынешней Европы. Это — русское слово дюжина, обозначавшее десятку в двенадцатеричной системе, или слова elf, zvolf в немецком языке, слова eleven, twelve в английском языке. Происхождение двенадцатеричной системы, видимо, обусловлено также строением человеческой руки: двенадцать фаланг на четырех пальцах (указательный, средний, безымянный и мизинец), а счет осуществлялся с помощью большого пальца, передвигающегося по фалангам перечисленных пальцев. Когда-то давно, в странах Древней Мессопотамии использовалась шестидесятеричная система счисления. Причины ее возникновения неизвестны, а вот отголоски ее тоже дошли до наших дней: это деление на шестьдесят минут, шестьдесят секунд углов и временных интервалов.

В компьютерах применяется простейшая из систем счисления — двоичная. В этой системе всего две цифры: 0 и 1. Поэтому любое число в двоичной системе счисления представляется последовательностью нулей и единиц. Например, числа десятичной системы от 0 до 15 в двоичной системе выглядят так:

10 с/с 2с/с 8 с/с 16 с/с
A
B
C
D
E
F

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

В N двоичных разрядах можно записать число из промежутка от 0 до 2N-1. Например, при N=2 — от 0 до 3; при N=3 — от 0 до 7; при N=4- от 0 до 15. Минимальная адресуемая ячейка памяти компьютера — байт содержит 8 бит, и поэтому в байте можно записать числа из диапазона от 000000002 = 010 до 111111112 =25510.

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

Восьмеричная система содержит восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7, а шестнадцатеричная — шестнадцать: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Таблица соответствия для десятичных чисел от 0 до 15 в системах с основаниями 2, 8, 16 выглядит так:

Как известно, объемы памяти в современных компьютерах измеряются в байтах. Для сокращения применяются производные единицы измерения: килобайт (К), мегабайт (М), гигабайт (Г), терабайт (Т). При этом 1К = 1024 (210) байт, 1М = 1024К, 1Г = 1024М, 1Т = 1024Г.

Контрольные вопросы

1. Что изучает наука информатика?

2. Что понимают под интерфейсом пользователя?

3. Что такое информация? Какими свойствами она владеет?

4. Из каких операций складывается процесс обработки данных?

5. Что такое информационная система?

6. Из каких этапов складывается работа информационных систем?

7. Какой смысл вкладывается у понятия информационная технология?

Статьи к прочтению:

DIY [Бесконечная шоколадка] Endless Chocolate Bar


Похожие статьи: