
#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 бита.
- текст хранится в виде чисел. Под каждый символ есть свое число, что описывается двоичным кодом. Набор таких чисел позволяет составить текст.
Также стоит посмотреть