Прочее компьютерное

В чем различия между микропроцессорной памятью, кэш- памятью и ОЗУ, если

все они используются для хранения данных, обрабатываемых в данный момент?
Denys Tymoshenko
Denys Tymoshenko
653
Дело в том, что "в данный момент" - понятие для компьютера весьма условное. Например, на одноядерной однопроцессорной системе Вы могли свободно запускать параллельно несколько приложений. Они работали вместе в данный момент? С точки зрения пользователя - да. С точки зрения процессора - нет, ни в коем случае. Просто обрабатывались попеременно команды то одного, то другого приложения, а поскольку операций в секунду даже те процессоры выполняли немало, "казалось", что несколько программ работают одновременно.
Вернемся к вопросу. ОЗУ - оперативная память
http://ru.wikipedia.org/wiki/ОЗУ
, в ней действительно хранится используемая в данный момент информация, однако здесь и начинает сказываться относительность выражения "в данный момент". К примеру, Вы запустили игрушку и гоняете ее, скажем, час. Изменяемых параметров в игрушках - вагон и маленькая тележка, они все находят свое место в оперативке (или в виртуальной памяти) , сидят там весь час, пока приложение запущено и неторопливо изменяются - какие-то чаще, какие-то реже. С точки зрения игрушки, час - это "в данный момент". Однако с точки зрения процессора - это далеко не так. У процессора есть собственная память - кэш процессора (кстати, кэш есть не только у процессора, так что вопрос некорректен) .
http://ru.wikipedia.org/wiki/Кэш
Кэш процессора (кстати "микропроцессорная" память - и есть кэш-память процессора) - память значительно более быстрая, чем ОЗУ, поэтому дорогая. Поэтому ее немного. А нужна она, потому что процессор выполняет операции быстро и вынужден "ждать" операции чтения и записи из/на оперативки. Чтобы ускорить процесс, в кэш память процессора загружаются предположительно следующие команды, образуя очередь. Эта выборка не всегда работает правильно - иногда происходят "промахи" - в очередь поставлена команда, которая не может быть выполнена раньше, чем будут получены результаты вычисления, стоящего в очереди позже, или же вовсе пока не стоящие. Такая ошибка называется промахом кэша - тогда вся очередь сбрасывается.
Свой кэш есть не только у процессора - но и у жестких дисков, cd- dvd-приводов. Для них его наличие обусловлено опять-таки большой разницей в скорости - на этот раз общения процессора с оперативкой и с накопителями.
А есть еще виртуальная память - в ней тоже хранится информация, необходимая "в данный момент". Это часть жесткого диска, которая используется как оперативка - ее объем всегда маленький по сравнению с жестким диском, так что туда сбрасывается информация, доступ к которой некритичен по времени (обращение к винту значительно медленнее) - в той же игрушке есть данные, которые изменяются редко и скорость обращения к которым некритична.
http://ru.wikipedia.org/wiki/Виртуальная_память
Получаются уровни памяти - процессорный кэш - оперативка - виртуальная память. У них разная скорость, и обрабатывают они информацию, как раз таки исходя из разных смыслов словосочетания "в данный момент".
Кирилл Ложкин
Кирилл Ложкин
30 035
Лучший ответ
В скорости обрабатывания.
...между микропроцессорной памятью, кэш- памятью ...
Это одно и то же.
Тем более - в проце ещё есть 1.2 и 3-го уровня кэш.
они служат не для хранения а для обработки информации и незря их называют ОЗУ - т. е оперативно запоминающие устройства