Назад

Кэш


$ 3 топологии или структуры Кэш используя которые можно добиться либо максимального быстродействия, либо наибольшей эффективности по использованию объёма Кэш. Ассоциативная Кэш. Fully Associative (свободная). В этой топологии в любой Кэш можно записать данные из любой отрасли RAM. Блок Кэш - это элементарная частица с которой работает контроллер Кэш, величина блока выбирается в зависимости от величины шины данных, учитывая наиболее эффективные способы обмена. Пример: 386 - они работают с одиночными выборкамиЮ размер блока Кэш = 4 байтам. Для Pentium, у которых шина данных - -8 байт и есть возможность работать с пакетной выборкой размер блока Кэш = 32 байтам, для 486 - 16-ти байтный блок Кэш. Недостатком данной топологии является большое время определения, есть ли необходимые данные в Кэш, т.к. приходится просматривать всех блоков. Достоинство то, что он всегда заполнен до конца. Эффективен по использованию объёма. Такого типа Кэш используются для кэширования данных накопителей, т.к. время электронного поиска меньше на 2 порядка, чем электромеханический доступ к накопителю. Например: Smart drive - это драйвер, который осуществляет кэширование, но его лучше использовать только для чтения, запись в него лучше не вести (под DOS), под Windows можно. Директивно отображаемая Кэш. Direct Mapped Cash. На рисунке приведен Кэш, который кэширует память в 16 МБ, т.к. адресация 24-х битная. Адрес оперативной памяти разделен на две части: младшая часть служит в качестве индекса, т.е. определяет номер блока Кэш, а старшая часть адреса пользуется в Тэг. Для того, чтобы определить контроллеру Кэш, есть ли нужные данные в Кэш, требуется по младшей части адреса определить номер Тэга со старшей частью адреса. Недостатки данной Кэш: может быть конкуренция между данными, имеющими одинаковую индексную часть адреса, Ю в процессорах в Кэш 1-го уровня используют всегда наборно-ассоциативную Кэш. Set Associative. В этой топологии Кэш организована как 2 или 4 параллельно работающие Кэш типа Direct Mapped. У Кэш имеются дополнительные биты, показывающие, какой из блоков был перезаписан ранее, т.е. старее и этот блок будет 1-м кандидатом на перезапись. Зато здесь уменьшается конкуренция между данными, имеющими одинаковую индексную часть адреса. Недостаток этой структуры в том, что необходимо делать 2 сравнения. При записи информации в Кэш (от CPU), возникает ситуация рассогласованности между данными Кэш и данными в основной памяти. Для ликвидации этой ситуации используются две технологии: - Write through - сквозная запись. В этой ситуации все измененные данные в Кэш тут же перезаписываются в основную память. Это упрощает работу контроллера Кэш, но зато в режиме записи Кэш замедляет работу процессора. Такой режим бывает насущно необходим в мультипроцессорных системах, особенно в момент запуска. - Write back - отложенная или фоновая запись. Технология: модифицированный блок Кэш не перезаписывается в основную RAM, а только помечается как модифицированный. Согласование всех модифицированных ячеек Кэш производится только в те моменты, когда управление шинами передается другому процессору или каналу DMA. Далее в отключенном от шины состоянии CPU вынужден следить за работой шин, и если обнаруживает, что производится запись в области памяти, данные из которых находятся в его Кэш, он обязан эти блоки сделать недействительными. (Invalid). Трудности работы с Кэш увеличиваются, если используется мультипроцессорная система, т.к. каждый современный CPU имеет свой Кэш 1-го уровня, Ю Intel придумала специальный протокол под названием MESI. Каждый блок может находится в одном или нескольких из этих состояний: Modified - Блок был модифицирован. Exclusive - этот блок содержит данные по адресу, который больше нигде не Кэширован. Shared - означает, что данные по тому же адресу находятся в других Кэш. Invalid - ячейка содержит недействительные данные и их нельзя читать. В мультипроцессорной системе контроллер CPU сначала ищет данные у себя, затем пытается найти данные в Кэшах других процессоров. Этот режим называется Snooping «вынюхивание». Только после этого он обращается к основной RAM. Технология современных HDD. Головки для записи и чтения информации. Для записи информации на диск используется индукционная головка. Она представляет собой магнитопровод с зазором на который намотана катушка. Пропуская через катушку ток, в зазоре сердечника образуется магнитное поле, которое намагничивает материал диска. Величина поля регулируется током в катушке. Осуществляется фокусировка поля. Количество витков в катушке и размер магнитопровода увеличивать нельзя, т.к. увеличиваются габариты головки. Головки делаются по тонкопленочной технологии, Ю число витков и размер головки ограничены. При чтении информации с диска магнитное поле - это группа магнитных микроэлементов имеющих одинаковое направление в катушке напряжение, которое является считываемым сигналом. Способ увеличить отдачу при чтении - это повысить скорость перемещения головки относительно диска и уменьшить зазор между головкой и диском. Уменьшение зазора приводит к более частым с диском, Ю для предотвращения разрушения поверхности диска его приходится покрывать прочным покрытием и на поверхность наносить тонкий слой силиконовой смазки. Наличие силиконовой смазки приводит к повышенному моменту торможения двигателя привода диска, что вызывает его сильный нагрев. Поэтому стремятся сделать количество дисков минимальным. Минимальная скорость вращения для современных дисков - это 4500об/мин, у хороших дисков скорость в районе 5400 об/мин, у дорогих - 7200 об/мин. Предельное значение плотности для индукционных считывающих головок - это 500 мегабит /дюйм в емкость 3.5. диска не превышает 1 гигабайта. Новый тип головки. Магнитно-резистивная головка. Магнито-резистивный эффект основан на процессе «отжатия» электронов к поверхности тонкой пленки под воздействием внешнего перпендикулярного пленке магнитного потока. При отжатии движущихся электронов увеличивается сопротивление пленки. Это меняющееся сопротивление можно измерить в виде падения напряжения при пропускании через пленку стабильного тока. Величина эффекта тем больше, чем тоньше пленка и больше величина тока, пропускаемого через неё. Магнито-резистивные головки можно использовать только для чтения. Они не чувствительны к скорости изменения магнитного потока и имеют очень малые габариты, т.к. им не надо ни сердечника ни катушки. Малые габариты магнито-резистивной головки позволяют резко увеличить плотность записи и в накопителях с такими головками намагничивание доменов при записи осуществляется не вдоль поверхности, а перпендикулярно. Для записи в таких накопителях используется индукционная головка со специальной формой сердечника, позволяющая осуществлять вертикальную намагниченность. Сложность изготовления магнитно-резистивных головок такова: необходимо сделать пленку толщиной менее 0.3 микрона и при этом очень равномерной толщины. Магнитно резистивные головки позволили повысить плотность до 1.5 Гбайт на 1 дюйм2. Емкость получается где-то 2-2.5 Гбайт. Новая модификация G(iant) MR - более чувствительная. При этом плотность записи можно увеличить в 2 раза и плотность от 3-5 Гбайт на дюйм2, что позволяет делать 3.54 диск объемом от 4 до 8 Гбайт. На сегодняшний день рекорд - 11.6 Гбайт/дюйм. Основа диска. Использован паромагнитный материал (не магнитный), например алюминий. В серийных накопителях используется AI, т.к. он дешев легок и однороден. Но у него есть один недостаток - это эффект «старения», при котором AI меняет форму, следовательно, вынуждены использовать другой материал - стекло. Стекло не расширяется при нагреве, не меняет свою форму, но не однородно по плотности и, следовательно, трудно делать балансировку. Его используют в пакетах не более 2 диска. Сегодня предлагается материал - пластмасса. Она лишена недостатков предыдущих материалов, а магнитное покрытие наносится методом бомбардировки. Поверхности таких дисков называются PERM, на них дополнительно вытравливаются дорожки для сервопривода (типа Floptical) - это предложила фирма Sony. Магнитная головка. Сегодня магнитное покрытие диска наносят с помощью вакуумного напыления, при этом покрытие получается очень равномерным и его можно делать слоистым. Приводы головок и дисков. Приводы дисков - линейный многополюсный двигатель с синхронной характеристикой. Приводы головок - линейный привод типа звуковой катушки: Voice Coil - он пришел на смену шаговому двигателю, он более быстрый, но требует специальных меток на диске для того, чтобы на ходу определить своё местоположение. Под сервометки вначале была отдана целая поверхность, поскольку эти метки должны представлять отрезки спирали для того чтобы их можно было читать на ходу. Эти метки записываются специальным методом у изготовителя. Для компенсации потери места от сервоповерхности было предложено перенести в сервоповерхности заголовки секторов, тем самым уплотнив информационные поверхности. Система Shock Protection System (SPS). Проблемой являются удары и вибрация, которой подвергается накопитель. При этом головка ударяется о поверхность диска многократно. Делают специальные амортизаторы, которые успокаивают подвеску головки. Quantum ввел систему SPS, при этом головка прижимается к поверхности диска и колеблется в горизонтальной поверхности. Quantum гарантирует стойкость при работе при покое 200 G. При понижении скорости вращения диска накопитель автоматически паркует головки перемещая их к центру диска и фиксируя их там. У некоторых головки перемещаются к краю диска и устанавливаются на специальные подставки. При скоростях выше 7000 оборотов шарикоподшипники издают сильный шум и повышенную вибрацию. Поэтому стали применять подшипник скольжения «взвешенный» в масле под большим давлением. Впервые применил Seagate в накопителе Medallist Pro. Методы выделения сигнала в шумах. В современных накопителях энергия сигнала меньше, чем энергия шума, поэтому для выделения сигнала из шума необходимо применить методы математической статистики. Кроме того можно использовать то обстоятельство, что параметры шума в определенном интервале времени постоянны (эти параметры: спектральная плотность, математическое ожидание и т.д.). Поэтому можно измерить параметры чистого шума на специально выделенных дорожках и затем из смеси сигнал+шум вычесть шум. Для математической обработки требуется аналогичный сигнал превратить в цифровой и обработку делать с помощью DSP (Digital Signal Processor - специализированный процессор). Технологии повышающие надежность накопителей. Таких технологий 3, они предложены IBM. Технология Self Monitoring Analysis and Report Technology SMART - самотестирование анализ и сообщение. Требуется, чтобы в накопителе велся журнал по основным параметрам определяющим работоспособность дисковода и выдавал эти параметры по запросу. Параметры выдаются аналогично (не открывая их сущность) и для нового диска они равны 100%. Так же существует граница беспокойства. При достижении этой границы накопитель должен подсказать примерную дату катастрофического отказа. Для этого нужна программа, которая будет периодически опрашивать накопитель и сохранять данные в файле с тем, чтобы можно было отслеживать изменения параметров. Начиная с OSRZ программа может обращаться к SMART. С 1997 года - это стандарт технологии, есть в Norton - утилитах. Минимальный срок извещения о поломке - 24 часа. Современные интерфейсы HDD. Адресация сектора. BIBM адресация к сектору была 3-х компанентной. Этими компанентами являются : № цилиндра; № головки (поверхности) и № сектора. Под № цилиндра и № сектора резервировалось слово (2байта), а № головки передавался через 8-и битный регистр, следовательно, изначальные предельные размеры приведены в таблице: BIOS ATA е Cylinder 10 bits 1024 64 K 1 K Head 44 bits 16(256) 16 16 Sector 6 bits 63 63 63 8 GB 528 MB Следовательно, № головки передавался 8-и битным регистрам, то начальная величина в 16 головок (4 бита) могла быть расширена до 256. Суммарное ограничение для IBM привело к тому, что максимальный объем диска был не больше 528 МВ. Чтобы обойти это ограничение приходилось использовать специальные драйверы (EZ-drive), с помощью которых HDD представлялся как несколько HDD с объемом не более 528 МВ. Так как ограничений на использование IDE набралось много, то фирмой Westernn Digital было предложено Extended IDE - расширенный IDE: - Предложено использовать один из следующих трех типов адресации: 1. Стандартная BIOS 2. Расширенная с возможностью увеличенного цилиндров в называется Large DOS. 3. Используя LBA (Logical Block Address), в этом случае используется однокомпанентная адресация по номеру сектора до 228 степени. Это позволяет адресоваться к 128 GB. Это адресуется в Setup. - В системе можно использовать 2 контроллера, к которому можно подсоединять до 4-х устройств (в РС - АТ) была заложена возможность использования второго контроллера. - Протокол ATAPI - (позволяет подключать к IDE не только жесткие диски) является составной частью интерфейса, таким образом можно к 1-у контроллеру подсоединять винчестеры CD ROM. Были предложены скорости 11.1 МВ/сек (PIO 3) и 16.7 МВ/сек (PIO 4). В IBM AT 1-й серии не использован канал DMA для HDD и там обмен между памятью и I/O реализуется через процессор, такой режим назвали PIO. Начиная с PIO 2 был введен синхронный обмен между накопителем с контроллером, который синхронизовался сигналом REDY - готовность. В результате для PIO 3 каждый обмен совершался за 180 для PIO 3 и за 120 для PIO 4. Режимы DMA: DMA mode F - 11 MB/S DMA 2 mode F - 16.7 MB/S Ultra DMA - 33 MB/S Эти параметры можно и нужно задать через биос. PIO - это работа через процессор. DMA - это работа минуя процессор. В современных системных CPU может работать долго без доступа к процессорной шине за счет внутреннего и внешнего КЭШ. Поэтому теперь является более эффективным организация обмена между памятью и I/O через каналы DMA. Для UDMA используется контроллер DMA встроенный в накопитель, это обозначается (bus mastering). Длина шлейфа при работе на UDMA не должен превышать 25 см. Изначально IDE представлял собой механическое удлиннение шины ISA и пока скорости обмена были не большие, допускалась длина кабеля IDE - 24 дюйма (600 мм). На разных скоростях допускаются следующие максимальные длинны кабеля: PIO 3 - 45 см. PIO 4 - 25 см. UDMA 33 - 12 см. (можно 15-18). Примечание: выбор скорости обмена EIDE осуществляется при начальной инициализации и накопитель и контроллер HDD системной платы пытаются связаться на максимально допустимой для них скорости (если в Setup поставлен режим авто), если при этом обнаружены ошибки при передаче, то они переходят на более низкую скорость и так до тех пор пока обмен будет без сбоев. Выбранная скорость запоминается и остается постоянной до выключения РС. Был предложен аналог протокола EIDE - протокол FAST ATA, который не поддерживал ATAPI, но он не был принят и долго не просуществовал.