кэш и оперативная память в чем разница

Лекция №4. Оперативная память. КЭШ-память.

Очень важным элементом компьютера является оперативная память. Именно из нее процессор берет программы и исходные данные для обработки, в нее он записывает полученные результаты. Название «оперативная» эта память получила потому, что она работает очень быстро, так что процессору практически не приходится ждать при чтении данных из памяти или записи в память. Однако содержащиеся в ней данные сохраняются только пока компьютер включен. При выключении компьютера содержимое оперативной памяти стирается.

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

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

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

Ячейки с динамической памяти (DRAM) можно представить в виде микроконденсаторов, способных накапливать заряд на своих обкладках. Это наиболее распространенный и экономически доступный тип памяти. Недостатки этого типа связаны, во-первых, с тем, что как при заряде, так и при разряде конденсаторов неизбежны переходные процессы, то есть запись данных происходит сравнительно медленно. Второй недостаток связан с тем, что заряды ячеек имеют свойство рассеиваться в пространстве. Если ОП постоянно не «подзаряжать», утрата информации происходит мгновенно. Для устранения этого в компьютере происходит постоянная регенерация (подзарядка) ячеек оперативной памяти. Регенерация осуществляется несколько раз в секунду и вызывает непроизводительный расход ресурсов вычислительной системы.

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

Память ЭВМ организована по иерархической лестнице, т.е. устройства обладающие большим объемом памяти обладают меньшим быстродействием. Наибольшим быстродействием обладают СОЗУ (сверх ОЗУ). Они обычно реализуются на регистрах, поэтому в МП СОЗУ называется РОН. Объем памяти СОЗУ очень мал. Обычно памятью машины называют ОЗУ. Быстродействие ОЗУ должно быть не меньше чем быстродействие электронных схем операционной части, памяти должно быть достаточно для записи программы решаемой задачи, а так же исходных данных, промежуточных и конечных результатов. Внешние запоминающие устройства обладают практически неограниченным объемом памяти и наименьшим быстродействием. ОЗУ не сохраняет информацию при отключении питания. Существуют ПЗУ, которые сохраняют информацию при отключении питания. ПЗУ работают только в режиме чтения, а ОЗУ в режиме чтения и записи. Существуют перепрограммируемые ПЗУ (ППЗУ), которые сохраняют информацию при отключении питания и допускают запись информации. При этом время записи во много раз больше времени считывания. Считывание информации из ОЗУ может происходить с разрушением информации или без.

При разрушении информации при считывании необходимо дополнительное время на восстановление информации. Время считывания состоит из времени поиска адреса, времени собственного считывания и времени регенерации (восстановления) считанной информации. ОЗУ реализуется на микросхемах. Элемент памяти реализован на триггерах. Триггер может быть построен на биполярных и униполярных транзисторах.

кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разница кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разница

Запись «1» производится в том случае, если на информационную цепь (ИЦ) нуля поступает логический «0». Для записи «0» логический «0» подается в ИЦ1.

В режиме чтения состояние триггера передается через открытые VT5-VT8 в информационные цепи. Если элемент памяти хранит «1», то уровень «1» поступает в ИЦ1, а если «0», то уровень логической «1» поступает в ИЦ0.

Кэш- память. Для достаточно быстрых компьютеров (например,на основе Intel® Pentium® 4 / Celeron® с тактовой частотой от 1.4 до 3.06ГГц и выше) необходимо обеспечить быстрый доступ к оперативной памяти, ина­че микропроцессор будет простаивать и быстродействие компьюте­ра уменьшится. Для этого такие компьютеры могут оснащаться кэш-памятью,т.е. «сверхоперативной» памятью относительно не­большого объема (обычно от 64 до 256 Кбайт),в которой хранятся наиболее часто используемые участки оперативной памяти.

Конструктивно модули памяти имеют два исполнения – однорядные (SIMM –модули) и двухразрядные (DIMM – модули). На компьютерах с процессорами Pentium однорядные модули можно применять только парами (количество разъемов для их установки на материнской плате всегда четное), а DIMM – модули можно установливать по одному.

Основными характеристиками модулей ОП являются объем памяти и время доступа. SIMM –модули поставляются объемами 4,8,16,32 Мбайт, а DIMM – модули – 16,32,64,128 Мбайт и более. Время доступа показывает, сколько времени необходимо для обращения к ячейкам памяти – чем оно меньше, тем лучше. Время доступа к ОП для SIMM – модулей – 50 – 70 нс. Для DIMM – модулей оно составляет 7-10 нс.

Почему вся память компьютера не работает так же быстро, как ОЗУ? Тому есть две причины. Во-первых, быстродействующая память дорого стоит. Во-вторых, все данные, хранящиеся в ОЗУ, пропадают при выключении питания компьютера.

Кроме ОЗУ на материнской плате есть микросхема постоянного запоминающего устройства (ROM или ПЗУ). Данные записываются в ПЗУ один раз при изготовлении микросхемы на заводе и обычно не могут быть изменены впоследствии. В ПЗУ хранятся программы, которые компьютер запускает автоматически при включении питания.

В момент включения компьютера процессору нужны команды. Поэтому сразу после включения на адресной шине процессора выставляется стартовый адрес. Это происходит аппаратно, без участия программ. Процессор обращается по выставленному адресу за свой первой командой. Этот исходный адрес не может указывать на оперативную память, в которой ничего нет. Он указывает на другой тип памяти – постоянное запоминающее устройство (ПЗУ). Далее начинает работать по программам.

Микросхема ПЗУ способна длительное время хранить информацию, даже когда компьютер выключен.

Комплект программ, находящихся в ПЗУ, образует базовую систему ввода-вывода (BIOS – Basic Input Output System). Основные назначение программ этого пакета состоит в том, чтобы проверить состав и работоспособность компьютерной системы и обеспечить взаимодействие с клавиатурой, монитором, жестким диском и дисководом гибких дисков.

Наглядно ОЗУ и ПЗУ можно представить себе в виде массива ячеек, в которые записаны отдельные байты информации. Каждая ячейка имеет свой номер, причем нумерация начинается с нуля. Номер ячейки является адресом (Address) байта.

кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разницаЦентральный процессор при работе с ОЗУ должен указать адрес байта, который он желает прочитать из памяти или записать в память (рис.2.12). Из ПЗУ можно только читать данные. Прочитанные из ОЗУ или ПЗУ данные процессор записывает в свою внутреннюю память, устроенную аналогично ОЗУ, но работающую значительно быстрее и имеющую емкость не более десятков байт.

Рис. 2.12. Работа процессора с ОЗУ.

Процессор может обрабатывать только те данные, которые находятся в его внутренней памяти, в ОЗУ или в ПЗУ. Все эти виды устройства памяти называются устройствами внутренней памяти, они обычно располагаются непосредственно на материнской плате компьютера (внутренняя память процессора находится в самом процессоре).

Источник

Что такое кэш в процессоре и зачем он нужен

кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разница

кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разница

Содержание

Содержание

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

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

Предпосылки создания кэш-памяти

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

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

Если бы не было «оперативки», то процесс считывания напрямую с накопителя занимал бы непозволительно огромное, по меркам вычислительной мощности процессора, время.

кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разница

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

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

Процессоры развиваются так же быстро, как память, поэтому несоответствие в их производительности и скорости сохраняется. Производство полупроводниковых изделий постоянно совершенствуется, поэтому на пластину процессора, которая сохраняет те же размеры, что и 10 лет назад, теперь можно поместить намного больше транзисторов. Как следствие, вычислительная мощность за это время увеличилась. Впрочем, не все производители используют новые технологии для увеличения именно вычислительной мощности. К примеру, производители оперативной памяти ставят во главу угла увеличение ее емкости: ведь потребитель намного больше ценит объем, нежели ее быстродействие. Когда на компьютере запущена программа и процессор обращается к ОЗУ, то с момента запроса до получения данных из оперативной памяти проходит несколько циклов процессора. А это неправильно — вычислительная мощность процессора простаивает, и относительно медленная «оперативка» тормозит его работу.

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

кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разница

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

Как работает кэш-память

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

Кэш-память — это, по сути, та же оперативная память, только более быстрая и дорогая. Она имеет небольшой объем и является одним из компонентов современного процессора.

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

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

Речь идет именно об анализе потока данных и предугадывании команд, которые могут понадобиться в скором будущем (попадании в кэш). Это так называемый идеальный кэш, способный предсказать ближайшие команды и заблаговременно выгрузить их из ОЗУ в ячейки сверхбыстрой памяти. В идеале их надо выбирать таким образом, чтобы конечный результат имел нулевой процент «промахов».

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

Временная локальность

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

Пространственная локальность

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

Набор таких адресов называется строкой (блоком) кэша, а количество считанных данных — длиной кэша.

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

Иерархия кэш-памяти

Любой современный процессор имеет в своей структуре несколько уровней кэш-памяти. В спецификации процессора они обозначаются как L1, L2, L3 и т. д.

кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разница

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

Так же организована и работа быстрых ячеек кэша. Ячейки памяти первого уровня (L1) располагаются на кристалле в непосредственной близости от вычислительного ядра. Эта память — самая быстрая, но и самая малая по объему. В нее помещаются наиболее востребованные данные и команды. Для передачи данных оттуда потребуется всего около 5 тактовых циклов. Как правило, кэш-память первого уровня состоит из двух блоков, каждый из которых имеет размер 32 КБ. Один из них — кэш данных первого уровня, второй — кэш инструкций первого уровня. Они отвечают за работу с блоками данных и молниеносное обращение к командам.

Кэш второго и третьего уровня больше по объему, но за счет того, что L2 и L3 удалены от вычислительного ядра, при обращении к ним будут более длительные временные интервалы. Более наглядно устройство кэш-памяти проиллюстрировано в следующем видео.

Кэш L2, который также содержит команды и данные, занимает уже до 512 КБ, чтобы обеспечить необходимый объем данных кэшу нижнего уровня. Но на обработку запросов уходит в два раза больше времени. Кэш третьего уровня имеет размеры уже от 2 до 32 МБ (и постоянно увеличивается вслед за развитием технологий), но и его скорость заметно ниже. Она превышает 30 тактовых циклов.

кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разница

Процессор запрашивает команды и данные, обрабатывая их, что называется, параллельными курсами. За счет этого и достигается потрясающая скорость работы. В качестве примера рассмотрим процессоры Intel. Принцип работы таков: в кэше хранятся данные и их адрес (тэг кэша). Сначала процессор ищет их в L1. Если информация не найдена (возник промах кэша), то в L1 будет создан новый тэг, а поиск данных продолжится на других уровнях. Для того, чтобы освободить место под новый тэг, информация, не используемая в данный момент, переносится на уровень L2. В результате данные постоянно перемещаются с одного уровня на другой.

С кэшем связан термин «сет ассоциативности». В L1 блок данных привязан к строкам кэша в определенном сете (блоке кэша). Так, например, 8-way (8 уровень ассоциативности) означает, что один блок может быть привязан к 8 строкам кэша. Чем выше уровень, тем выше шанс на попадание кэша (процессор нашел требуемую информацию). Есть и недостатки. Главные — усложнение процесса и соответствующее снижение производительности.

Также при хранении одних и тех же данных могут задействоваться различные уровни кэша, например, L1 и L3. Это так называемые инклюзивные кэши. Использование лишнего объема памяти окупается скоростью поиска. Если процессор не нашел данные на нижнем уровне, ему не придется искать их на верхних уровнях кэша. В этом случае задействованы кэши-жертвы. Это полностью ассоциативный кэш, который используется для хранения блоков, вытесненных из кэша при замене. Он предназначен для уменьшения количества промахов. Например, кэши-жертвы L3 будут хранить информацию из L2. В то же время данные, которые хранятся в L2, остаются только там, что помогает сэкономить место в памяти, однако усложняет поиск данных: системе приходится искать необходимый тэг в L3, который заметно больше по размеру.

В некоторых политиках записи информация хранится в кэше и основной системной памяти. Современные процессоры работают следующим образом: когда данные пишутся в кэш, происходит задержка перед тем, как эта информация будет записана в системную память. Во время задержки данные остаются в кэше, после чего их «вытесняет» в ОЗУ.

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

Источник

Что такое кэш-память – для чего нужна компьютеру и как работает

кэш и оперативная память в чем разница. Смотреть фото кэш и оперативная память в чем разница. Смотреть картинку кэш и оперативная память в чем разница. Картинка про кэш и оперативная память в чем разница. Фото кэш и оперативная память в чем разница

Кэш-память или просто кэш, это тип памяти, используемый для ускорения выполнения программ. Её можно рассматривать как расширение основной памяти компьютера RAM (Random Access Memory).

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

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

В чем разница между оперативкой и кэшем

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

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

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

Поэтому для оптимизации производительности объединены два типа памяти. Большой объем памяти с медленным временем доступа в ОЗУ и небольшой объём памяти с очень быстрым временем доступа в кэше.

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

Как работает кэш-память

Чтобы понять, что такое кэширование и как оно работает, нам нужно объяснить, что такое принцип локальности.

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

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

Уровни кэш-память

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

Есть 4 возможных уровня (L), и они организованы иерархически:

Типы кэш-памяти

Мы завершаем руководство о том, что такое кэш-память, объясняя, каковы основные типы этого типа памяти.

Кэш процессора

Кэш процессора является кэшем, используемым процессором компьютера для ускорения операций доступа к основной памяти.

Кэш страницы

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

Дисковый кеш

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

Веб-кэш

Веб-кэш является частью жесткого диска, который используют веб-браузеры (Chrome, Edge, Firefox) или прокси-серверs, чтобы сохранить просмотренные интернет-страницы.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *