Учебная работа. Реферат: Устройство кэш-памяти и стратегии кэширования
понятие кэш-памяти————————————————————————————3
Уровни кэша—————————————————————————————3
Кэш-память процессоров PentiumIII——————————————————4
Устройство кэш-памяти и стратегии кэширования———————————————5
Заключение—————————————————————————————11
Перечень литературы———————————————————————————12
понятие кэш-памяти
Кэш (англ. cache, от фр. cacher — прятать; произносится [kæʃ] — кэш) — промежный буфер с резвым доступом, содержащий информацию, которая быть может запрошена с большей вероятностью. Доступ к данным в кэше идет резвее, чем подборка начальных данных из оперативной (ОЗУ) либо наиболее неспешной наружной (жёсткий диск либо твердотельный накопитель) памяти, за счёт что миниатюризируется среднее время доступа и возрастает общая производительность компьютерной системы.
Кэш процессора — Кэш, применяемый процессором для уменьшения среднего времени доступа к компьютерной памяти. Является одним из верхних уровней иерархии памяти. кэш употребляет маленькую, но весьма резвую память SRAM, которая хранит копию нередко применяемых данных из главный памяти. Если большая часть запросов в память будет обрабатываться кэшем, средняя задержка воззвания к памяти будет приближаться к задержкам работы кэша.
Когда микропроцессору необходимо обратиться в память для чтения либо записи ячейки, он поначалу инспектирует, доступна ли копия требуемых данных в кэше. В случае фуррора проверки микропроцессор сходу может произвести операцию работы с памятью, используя кэш. В неприятном случае микропроцессору пришлось бы ждать прохождения запроса в основную память, которая является в пару раз наиболее неспешной.
Большая часть современных процессоров для бытовых компов и серверов имеют как минимум три независящих кэша: кэш инструкций для убыстрения загрузки машинного кода процессора, кэш данных для убыстрения чтения и записи данных, и буфер ассоциативной трансляции (TLB) для убыстрения трансляции виртуальных (математических) адресов в физические, как для инструкций, так и для данных.
Уровни кэша
кэш центрального микропроцессора разделён на несколько уровней. В всепригодном микропроцессоре в истинное время число уровней может достигать 3. кэш—память PentiumIII имеет два уровня.
Самой резвой памятью является кэш первого уровня — L1-cache. Маленькая (несколько 10-ов кб) сверхбыстрая память, предназначнная для хранения промежных результатов вычислений.
На самом деле, она является неотъемлемой частью микропроцессора, так как размещена на одном с ним кристалле и заходит в состав многофункциональных блоков. Большая часть микропроцессоров без L1 кэша не могут работать. L1 кэш работает на частоте микропроцессора, и, в общем случае, воззвание к нему может выполняться любой такт. Часто является вероятным делать несколько операций чтения/записи сразу. Латентность доступа обычно равна 2−4 тактам ядра. Объём обычно невелик — не наиболее 128 Кбайт.
Вторым по быстродействию является L2-память чуток помедленнее, зато больше. Обычно он размещен на кристалле, как и L1. Объём L2 кэша от 128 Кбайт до 1−12 Мбайт. В современных многоядерных микропроцессорах кэш второго уровня, находясь на том же кристалле, является памятью раздельного использования — при общем объёме кэша в nM Мбайт на каждое ядро приходится по nM/nC Мбайта, где nC количество ядер микропроцессора. Обычно латентность L2 кэша, размещенного на кристалле ядра, составляет от 8 до 20 тактов ядра.
Делему синхронизации меж разными кэшами (как 1-го, так и огромного количества микропроцессоров) решается Когерентностью кэша. Существует три варианта обмена информацией меж кэш-памятью разных уровней, либо, как молвят, кэш-архитектуры: инклюзивная, эксклюзивная и неэксклюзивная.
Инклюзивная архитектура подразумевает дублирование инфы кэша верхнего уровня в нижнем (предпочитает КомпанияIntel).
Эксклюзивная кэш-память подразумевает неповторимость инфы, находящейся в разных уровнях кэша.
В неэксклюзивной кэши могут вести себя как угодно.
одна из базовых черт кэш-памяти — уровень ассоциативности — показывает её логическую сегментацию. Дело в том, что поочередный перебор всех строк кэша в поисках нужных данных востребовал бы 10-ов тактов и свёл бы на нет весь выигрыш от использования интегрированной в ЦП памяти. Потому ячейки ОЗУ жёстко привязываются к строчкам кэш-памяти (в каждой строке могут быть данные из фиксированного набора адресов), что существенно уменьшает время поиска. С каждой ячейкой ОЗУ быть может соединено наиболее одной строчки кэш-памяти: к примеру, n-канальная ассоциативность обозначает, что информация по некому адресу оперативки может храниться в n местах кэш-памяти.
При схожем объеме кэша схема с большей ассоциативностью будет менее резвой, но более действенной
кэш-память процессоров
Pentium
III
Микропроцессор Intel Pentium III — машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор архитектуры P6, содержит в себе: динамическое выполнение установок, системную шину с множественными транзакциями и технологию Intel MMX™ для обработки данных мультимедиа. разработка производства с разрешающей способностью 0.25 микрон дозволяет расположить на кристалле наиболее 9.5 миллионов транзисторов. машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор содержит 32 Kб неблокируемой кэш-памяти первого уровня (16Кб/16Кб) и унифицированную неблокируемую кэш-память второго уровня емкостью 512 Кб, функционирующую на в два раза наименьшей частоте, чем ядро. машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор Intel® Pentium®III поддерживает кэширование памяти с объемом адресного места 4 Гб, и дозволяет создавать масштабируемые системы с 2-мя микропроцессорами и физической памятью объемом до 64 Гб.
Katmai
кэш второго уровня объёмом 512 Кб работает на половине частоты ядра и выполнен в виде 2-ух микросхем BSRAM (производства Toshiba и NEC), расположенных друг над другом справа от кристалла микропроцессора. В качестве tag-RAM употребляется микросхема Intel 82459AD, расположенная на оборотной стороне процессорной платы под микросхемами кэш-памяти.
Coppermine
Микропроцессоры на ядре Coppermine выпускались по 180 нм технологии, имели интегрированную кэш-память второго уровня, работающую на частоте ядра. Не считая того, кэш-память имеет 256-битную шину (в отличие от микропроцессоров на ядре Katmai, имевших 64-битную шину кэш-памяти), что существенно увеличивает её быстродействие. За счёт встроенной кэш-памяти число транзисторов возросло до 28,1 млн
Микропроцессоры Pentium III 733 МГц на ядре Coppermine c уменьшенной до 128 Кб кэш-памятью второго уровня использовались компанией Microsoft в приставке Xbox. В отличие от микропроцессоров Celeron на ядре Coppermine-128, также имеющих 128 Кб кэша, данные микропроцессоры имеют 8-канальный ассоциативный кэш второго уровня (Celeron имеет 4-канальный ассоциативный кэш)
Tualatin
Микропроцессоры Pentium III-S на ядре Tualatin имели 512 Кб кэш-памяти второго уровня и предназначались для высокопроизводительных рабочих станций и серверов. В микропроцессорах Pentium III на ядре Tualatin 256 Кб кэш-памяти были аппаратно отключены. Частота системной шины составляла 133 МГц для обеих модификаций.
Устройство кэш-памяти и стратегии кэширования
Кэш-память является результатом попыток соединить плюсы стремительных SRAM и дешевеньких DRAM для сотворения очень действенной системы памяти. Принцип кэширования поясняется на рисунке 1.
Меж микропроцессором и главный памятью DRAM предусматривается резвый кэш SRAM. В нем хранятся нередко требуемые данные, которые он способен передавать весьма стремительно. процесс управляется кэш-контроллером, который может обеспечивать разные режимы записи — такие, как
сквозная либо отложенная запись.
Набросок 1. Принцип кэширования.
кэш-блок размещается меж CPU и главный памятью; он состоит из кэш-контроллера и кэш-памяти SRAM. Они могут быть интегрированы в кристалл микропроцессора (кэш-память, интегрированная в кристалл), а могут существовать и в виде отдельного элемента.
Так как поочередные операции доступа к памяти в главном обращаются к ограниченному месту адресов, то имеет смысл расположить более нередко требуемые данные в маленький быстродействующей памяти — кэш-памяти. Преимуществом такового подхода является существенное уменьшение времени доступа, которое при большенном количестве операций доступа к памяти обеспечивает существенное увеличение быстродействия. Данные и команды, которые в данный момент не требуются, могут храниться в наиболее неспешной главный памяти, что не приводит к приметному замедлению выполнения программки. Принцип кэширования, заключающийся в использовании маленький SRAM и большенный, но наиболее неспешной DRAM, соединяет внутри себя достоинства стремительных SRAM и наиболее дешевеньких DRAM.
На рисунке 2 изображены основная и кэш память. Любая строчка — группа ячеек памяти содержит данные, организованные в кэш-линии. Размер каждой кэш-линии может различаться в различных микропроцессорах, но для большинства x86-процессоров он составляет 64 б. Размер кэш-линии обычно больше размера данных, к которому вероятен доступ из одной машинной команды (обычные размеры от 1 до 16 б). Любая группа данных в памяти размером в 1 кэш-линию имеет порядковый номер. Для главный памяти этот номер является адресом памяти с отброшенными младшими битами. В кэше каждой кэш-линии добавочно ставится в соответствие тег, который является адресом продублированных в данной кэш-линии данных в главный памяти.
Набросок 2. Диаграмма кэша памяти ЦПУ
Когда машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор читает информацию, он обычно направляет соответственный адресок в память. Когда микропроцессору необходимо выполнить команду, он поначалу анализирует состояние собственных регистров данных. Если нужных данных в регистрах нет, он обращается к кэш-памяти первого уровня, а потом — к кэш-памяти второго уровня. Если данных нет ни в одной кэш-памяти, микропроцессор обращается к оперативки. И лишь в том случае, если подходящих данных нет и там, он считывает данные с твердого диска.
Но в нашем случае меж микропроцессором и адресом главный памяти находится кэш-контроллер. Он описывает, находятся ли нужные данные в кэш-памяти SRAM. Если да, то ситуация именуется «кэш-попаданием». Вариант, когда нужные данные находятся в главный памяти, именуется «кэш-промахом». В первом случае кэш-контроллер читает данные из резвой кэш-памяти и направляет их микропроцессору. Это обычно происходит без ожидания, т.е. с наибольшей скоростью шины. запрос на чтение перехватывается кэш-памятью, и основная память о нем не понимает.
В случае кэш-промаха кэш-контроллер должен сначала прочесть данные из главный памяти; таковым образом, запрос на чтение переадресуется в основную память. Так как это обычно занимает больше времени, то требуется определенное число циклов ожидания; кэш-контроллер сбрасывает сигнал готовности (либо иной соответственный сигнал), и микропроцессор потому вставляет циклы ожидания. сразу с сиим обращается к памяти и кэш-контроллер. Внутренняя организация большинства моделей кэш-памяти такая, что в этом случае, когда происходит запрос на чтение инфы, которой нет в кэш-памяти, из главный памяти в SRAM читаются не только лишь конкретно запрашиваемые байты данных, да и вся кэш-строка. Эта операция известна как наполнение кэш-строки. Перед тем, как записать в кэш-память новейшие данные, необходимо, чтоб находящиеся в ней результаты прошлых операций были сохранены в главный памяти. кэш-контроллер довольно разумен для того, чтоб выполнить циклы чтения и записи данных в основную память независимо друг от друга. Байты данных, запрашиваемые микропроцессором, немедля, т.е. до окончания полной обработки всей кэш-строки, передаются ему кэш-контроллером.
кэш-строки обычно составляют 16 либо 32 б, так как, как уже говорилось ранее, данные и команды формируются в виде блоков; потому весьма возможно, что последующий запрос обратится к инфы, содержащейся в той же кэш-строке. Это наращивает скорость доступа. Не считая того, большая часть кэш-контроллеров реализует так именуемый пакетный режим, средством которого считывается полностью блок данных, в каком содержится больше б, чем дозволяет ширина шины (потому для чтения блока данных требуется несколько циклов шины). Пакетный режим практически умножает скорость передачи данных шиной, потому целая кэш-строка читается существенно резвее, чем отдельное кэш-строк наращивает быстродействие системы.
В случае, когда машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор записывает данные, кэш-контроллер описывает, находятся ли данные в кэш-памяти SRAM. Если да, то данные из микропроцессора записываются в кэш. Существует три разных стратегии, определяющие последующие деяния кэш-контроллера: сквозная запись, отложенная запись (популярная также как оборотное копирование) и запись с размещением. 1-ые две стратегии относятся к случаю кэш-попадания, крайняя — к ситуации кэш-промаха.
Более обычным способом является сквозная запись, которая реализована в большинстве моделей кэш-памяти. Операция записи, инициированная микропроцессором, постоянно приводит к передаче данных в основную память, даже в случае кэш-попадания; все операции записи проходят через основную память. Это, естественно, касается также записи и обновления соответственных ячеек кэш-памяти. Сквозная запись имеет тот недочет, что все операции записи должны выполняться также и с главный, наиболее неспешной памятью. Если не принять доп мер, то это в принципе может привести к отключению кэш-памяти в режиме записи, результатом что явится необоснованно огромное время доступа при записи. По данной причине модели кэш-памяти со сквозной записью употребляют резвые буферы записи, дозволяющие буферизовать операции доступа на запись. Но это может быть лишь до того времени, пока буфер не заполнится. Как следует, неоднократные запросы на запись безизбежно приводят к состоянию ожидания. С иной стороны, в мультипроцессорных системах стратегия сквозной записи автоматом обеспечивает согласованность содержимого главный памяти, так как все данные обновляются через основную память. Согласованность содержимого кэш-памяти, но, в мультипроцессорных системах не гарантируется. к примеру, один из микропроцессоров может переписать содержимое главный памяти, а кэш-память другого микропроцессора может ничего о этом не знать. Лишь цикл просмотра может вернуть согласованность данных.
кэш с отложенной записью концентрирует все операции записи и обновляет лишь содержимое элемента кэш-памяти, не затрагивая содержимого главный памяти. Лишь по определенной команде модифицированное содержимое кэш-строки записывается в основную память, обновляя содержащуюся в ней информацию. В компах Pentium это быть может выполнено программным методом, к примеру, средством команды WBIND (записать и аннулировать данные кэш-памяти), методом выдачи аппаратного сигнала FLUSH, при бесспорной подмене одной кэш-строки иной в случае отсутствия запрашиваемых данных в кэш-памяти, также при выполнении внутреннего либо наружного цикла просмотра. Недочетом кэш-памяти с отложенной записью будет то, что смена строк кэш-памяти занимает больше времени, так как до того, как новейшие данные могут быть записаны в кэш, прежнее содержимое кэш-памяти обязано быть записано в основную память. Этот недочет, но, наиболее чем возмещается тем, что предыдущие запросы на запись не проходят через неспешную общую память.
Две стратегии кэш-памяти, описываемые тут, не определяют ее поведения в случае кэш-промаха, т.е. если адресок, к которому происходит воззвание, в кэш-памяти отсутствует. Если кэш реализует стратегию записи с размещением, кэш-контроллер заполняет место кэш-памяти кэш-строкой, в которую входят данные по запрашиваемому адресу. Обычно данные сначала записываются в основную память; потом кэш-контроллер считывает в кэш ту кэш-строку, элемент которой подлежит обновлению. Так как поначалу происходит запись инфы, микропроцессор может немедля возобновить выполнение программки. кэш-контроллер независимо от этого делает запись с размещением наряду с работой микропроцессора. В наихудшем случае он сначала записывает освеженную кэш-строку в основную память, чтоб потом заполнить ее новенькими данными. По данной причине и из-за трудности метода работы кэш-памяти большая часть моделей кэш-памяти не употребляет стратегию записи с размещением. Запросы на запись в случае кэш-промаха просто игнорируются кэш-памятью и передаются в основную память.
Если к главный памяти имеют доступ остальные микропроцессоры либо составляющие системы, как происходит, к примеру, при работе DMA-контроллера, и содержимое памяти меняется, кэш-контроллер должен информировать подобающую SRAM о том, что данные в главный памяти были изменены и являются недействительными. Эта операция известна как аннулирование кэш-памяти. Если в кэш-контроллере реализована стратегия отложенной записи и если нужные данные находятся в кэш-памяти, то ее содержимое передается в основную память при особенных критериях. Это происходит, к примеру, в этом случае, если схема DMA обязана передать информацию из главный памяти периферийному устройству, но текущие значения находятся лишь в кэш-памяти SRAM. Таковая операция именуется чисткой кэш-памяти.
Программные варианты кэш-памяти, реализованные на компе, владеют схожими качествами. DOS, к примеру, для доступа к гибким и твердым дискам употребляет внутренние буферы. Можно задать число таковых буферов средством команды BUFFERS в CONFIG.SYS. Эти буферы служат в качестве кэш-памяти, расположенной меж микропроцессором, главный памятью и контроллером гибких либо твердых дисков. В таковой программной кэш-памяти не реализована стратегия сквозной записи, потому в случае сбоя системы часть данных, еще не записанных на диск, может находиться в буфере. Лишь при закрытии обрабатываемого файла либо в том случае, если буфер требуется для другого файла либо записи, DOS на физическом уровне записывает содержимое буфера на диск. Выполняя функции 0dh, 5d01h, 68h либо выдав прерывание INT 21h, можно вынудить DOS выполнить чистку кэш-памяти. С иной стороны, большая часть моделей, реализующих программную кэш-памяти для твердых дисков (к примеру, крайние версии SMARTDRV, эмулирующие кэш для операций доступа к твердому диску) в главный памяти, употребляет стратегию сквозной записи. Все операции записи обращаются при всем этом к диску, и лишь чтение делается с копии, размещенной в главный памяти. Новые версии SMARTDRV.SYS употребляют стратегию отложенной записи. В этом случае доступ к диску на запись делается позже, когда операция отложенной записи быть может выполнена без вмешательства в работу остальных программ.
ЗАКЛЮЧЕНИЕ
Анализ изложенного выше материала дозволяет создать заключение, что благодаря кэш-памяти уменьшили среднее время доступа к компьютерной памяти. Применение кэш-памяти смешанного типа дозволяет достигнуть потрясающих результатов в производительности микропроцессоров и понижает частоту нужных воззваний к главный памяти. машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор Pentium III компании Intel имеет кэш-память первого уровня емкостью 32 Кбайт на микросхеме микропроцессора и или кэш-память второго уровня емкостью 256 Кбайт на микросхеме, или кэш-память второго уровня емкостью 512 Кбайт, не интегрированную с микропроцессором.
Микропроцессоры Intel Pentium III к концу 1999 года выпускались по 180 нм технологии и имели встроенный кэш второго уровня, работающий на частоте ядра. Но на частотах, близких к 1 ГГц, встроенный кэш работал неустойчиво.
СПИСОК ЛИТЕРАТУРЫ
· Фигурнов, В.Э. IBMPCдля юзера. Изд. 6-е, перераб. И доп. – М.:ИНФРА-М, 1995. – 432 с.: ил.
· Леонтьев, В.П. Новая энциклопедия индивидуального компа 2005. – М.: ОЛМА-ПРЕСС Образование, 2005. – 800 с.: ил.
· Леонтьев, В.П. Индивидуальный комп 2003. – М.: ОЛМА-ПРЕСС, 2003. – 920 с.: ил.
· Готовые экзаменационные ответы, информатика, 11 класс, Издательство «Тригон»
· Симонович С.В. Справочник школьника.
]]>