Студопедия — Понятие ассоциативности кэша
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Понятие ассоциативности кэша






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

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

Стоп! Сколько времени потребует просмотр тысячи тегов?! Даже если несколько тегов будут просматриваться за один такт, поиск нужной нам линейки растянется на сотни тактов, что "съест" весь выигрыш в производительности. Нет уж, какая динамическая память не тормозная, а к ней обратится побыстрее будет, чем сканировать кэш...

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

В кэше прямого отображения проблема поиска решается так: пусть каждая ячейка памяти соответствует не любой, а одной, строго определенной строке кэша. В свою очередь, каждой строке кэша будет соответствовать не одна, а множество ячеек кэшируемой памяти, но опять-таки, не любых, а строго определенных. Пусть наш кэш состоит из четырех строк, тогда (см. рис. 2) первый пакет кэшируемой памяти связан с первой строкой кэша, второй - со второй, третий - с третьей, четвертый - с четвертой, а пятый - вновь с первой! Достаточно очевидно, что адреса ячеек кэшируемой памяти связаны с номерами кэш-строк следующим отношением:
N = (ADDR / CACHE.LINE.SIZE) mod (CACHE.SIZE / CACHE.LINE.SIZE)
где N - условный номер кэш-линейки, ADDR - адрес ячейки кэшируемой памяти; CACHE.LINE.SIZE - длина кэш-линейки в байтах; CACHE.SIZE - размер кэш-памяти в байтах; "/" - операция целочисленного деления.

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

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

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

Рисунок 2. Устройство кэша прямого отображения.

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

Количество банков кэша и называют его ассоциативностью (way). Легко видеть, что с увеличением степени ассоциативности эффективность кэша существенно возрастает.

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

Ассоциативность кэш-памяти, используемой в современных персональных компьютеров колеблется от двух (2-way cache) до восьми (8-way cache), а чаще всего равна четырем (4-way cache).

Рисунок 3. Устройство наборно-ассоциативного кэша.

Архитектурно Кэш находится между ОЗУ и ЦП, кэш контроллер позволяет обмениваться данными ЦП, ОЗУ и Кэш-памятью между собой.

Рисунок 1. Расположение кэша в иерархии оперативной памяти.

CISC‑архитектура RISC-архитектура
Многобайтовые команды Однобайтовые команды
Малое количество регистров Большое количество регистров
Сложные команды Простые команды
Одна или менее команд за один цикл процессора Несколько команд за один цикл процессора
Традиционно одно исполнительное устройство Несколько исполнительных устройств

RISC (англ. Restricted (reduced) instruction set computer [1][2]компьютер с упрощённым набором команд) — архитектура процессора, в которой быстродействие увеличивается за счёт упрощения команд, чтобы их декодирование было проще, а время выполнения — короче. Первые RISC-процессоры даже не имели команд умножения и деления.

CISC (англ. сomplete instruction set computing, или англ. complete instruction set computer — компьютер с полным набором команд) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:

§ нефиксированное значение длины команды;

§ арифметические действия кодируются в одной команде;

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

Недостатки CISC архитектуры:

§ высокая стоимость аппаратной части;

§ сложности с распараллеливанием вычислений.

Методика построения системы комманд CISC комплементарна (противоположна, имеется в виду) другой методике - RISC. Различие этих концепций состоит в методах программирования, а не в реальной архитектуре процессора. Практически все современные процессоры эмулируют наборы команд как RISC так и CISC типа.

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

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

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

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

Шина SCSI (Small Computer System Interface - cистемный интерфейс малых компьютеров, произносится "скази") Интерфейс предназначен для соединения устройств различных классов - памяти прямого и последовательного доступа, CD-ROM, оптических дисков однократной и многократной записи, устройств автоматической смены носителей информации, принтеров, сканеров, коммуникационных устройств и процессоров.

PATA – параллельный интерфейс подключения накопителей

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

Внешнее запоминающее устройство

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

Классификация ВЗУ.

Наиболее распатроненными ВЗУ являются накопители на жестких магнитных дисках, накопители на оптических дисках, флеш накопителях.

Сейчас все большую популярность приобретают Blu-ray Disk(оптические) 405 нмм – длина волны, поэтому позволяет записывать больший объем. Скорость чтения 1х – 36 Мбит/с

 

Диаметр Объем 1 слой Объем 2 слой
12 см 1 сторона 25 Гб 50 Гб
Гб12 см 2 сторона 50 Гб 100 Гб
8 см 1 сторона 7,8 Гб 15,613 Гб
8 см 2 сторона 15,6 Гб 31,210 Гб
       
     

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

Порты ввода/вывода:

- параллельные порты LPT1-LPT4, используются для подключения принтеров

- последовательные порты COM1-COM4, к ним подключались мышь, модем, сейчас – сканеры штрих кодов

- Game-порт, джостики

- USB

- E-SATA

-HDMI для подключения широкоформатных мониторов, телевизоров

1. Устройство ввода информации (клавиатура, сканер, планшет, цифровая камера, микрофон)

2. Устройства вывода (монитор, принтер, акустика, проектор)

3. Диалоговые средства пользователя (видеотерминал)

4. Средства связи и телекоммуникаций – используются для подключена ПК к каналам связи и компьютерным сетям, например, сетевые адаптеры.

 

 

Мультимедиа – комплекс аппаратных и программных средств, позволяющих человеку общаться с компьютером (звук, видео, графика, тексты).

- Устройство речевого ввода – микрофон

- Видеокамера

- Звуковые и видео-платы

- Сканеры

- ВЗУ

 







Дата добавления: 2015-08-12; просмотров: 2406. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Studopedia.info - Студопедия - 2014-2024 год . (0.023 сек.) русская версия | украинская версия