Основы

12 уроков
Консультации
#5 – Как работает память компьютера?

#5 – Как работает память компьютера?

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

Видеоурок

Как хранится информация?

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


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


Все ячейки хранятся на жестком диске вашего компьютера. Также их можно хранить на накопителях по типу флешки, съёмного жесткого диска и так далее.


Как все работает?

Мы понимаем что вся информация хранится внутри жесткого диска. Но как позже она обрабатывается? Каким образом компьютер достает информацию и запускает ее? Давайте это выясним.


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


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


Упрощено схему работы ПК можно представить в трех пунктах: 

  • жесткий диск
  • оперативная память
  • процессор



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


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


Оперативная память

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


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


Оперативная память, как и любая память, имеет свои ограничения. К примеру, если в оперативной памяти вы можете хранить 1КБ информации, а вы передаете туда 2КБ информации, то память переполняется и получается так что программа останавливается, выбивает ошибку и прекращает свою работу.


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


Формат хранения информации

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


Компьютер не может обратиться к одной такой ячейке напрямую. Он всегда обращается к байту, то есть набору из 8 таких ячеек. Нумерация ячеек идет от 7 до 0 включительно.



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


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


Как храниться текст?

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


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



Получается, что для описания слова состоящего из 5 символов будет создано 5 байтовых ячеек или 40 битов информации. Размер занимаемого места в памяти компьютера будет равен 5 байтам. Если вы опишите 1000 символов, то это будет 1000 байт или же 1 КБ. По такой же логике вы можете описывать более длинные текста, что по итогу могут занимать 1000 КБ или 1 МБ.


Какие есть типы хранения информации?

Для хранения разного типа информации в компьютере предусмотрены разные типы данных. Наиболее простой тип данных – байт. Он может хранить в себе значения от -128 до 127. Большее число он хранить не сможет, ведь не хватит битов для описания такого числа при помощи бинарного кода.


Далее идет тип short, что занимает уже 2 байта и может хранить большие числа: от -32768 до 32767. Если в такой тип вы сохраните число 7, то все обработается, но в памяти компьютера будет задействовано на 1 байт больше чем требуется. Этот байт будет пустым, но все же занятым.


Существуют и другие типы как int, что занимает 4 байта или же long, что занимает 8 байтов. Более детально мы эти типы рассмотрим в уроке по изучению переменных.

Задание к уроку

Вопросы на проверку

Ответьте на несколько вопросов:

  • как называется минимальная ячейка памяти?
  • что делает оперативная память?
  • сколько занимает тип int?
  • как сохраняется текст?
Посмотреть ответ

Ответы по вопросам:

  • минимальная ячейка – бит. К ней компьютер не имеет доступа, но имеет доступ к набору таких ячеек – байт. Байт состоит из 8 битов.
  • оперативная память является буфером обмена между жестким диском и процессором. Она хранит информацию, что может обработать процессор.
  • тип int занимает 4 байта или 23 бита.
  • текст хранится в виде чисел. Под каждый символ есть свое число, что описывается двоичным кодом. Набор таких чисел позволяет составить текст. 

Также стоит посмотреть

Уроки Qt Creator | Графический интерфейс на С++
13 уроков
Изучение C++ от новичка до профи
С++ программирование / Уроки C++
26 уроков
Создание игры на C++ / Создание "Змейки"
3 урока
Уроки C++ WinForms / Создание программ на Windows
1 урок
Комментарии
Добавить комментарий

Пока комментариев нет