История, развитие компьютерных технологий - Сверхоперативная память – кэш (cache)

Новости it-компаний

Ноутбуки ASUS

News image

ASUSTeK Computer Inc. (Тайпейская фондовая биржа: 2357) - ведущий производитель ноутбуков, материнских плат, видеокарт, оптических пр...

IBM предлагает новый пакет в области распознавания речи

News image

Новая технология позволяет говорить, а не отдавать команды. Новое ПО IBM Embedded ViaVoice 4.4 исключает не...

Авторизация



Развитие технологий:

Корпорация APPLE

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

Микропроцессоры Intel: начало эры ПК

В 1979 году фирма Intel выпустила новый микропроцессор Intel 8086/8088. Тогда же и появился первый сопроцессор Intel 8087. Тактовые частоты ...



Сверхоперативная память – кэш (cache)
История - История, развитие компьютерных технологий

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

Рассмотрим технологический процесс обработки. Вначале данные хранятся на бумаге. Их вводят посредством клавиатуры, мыши, сканера. Устройства ввода/вывода - самые медлительные. Довольно медленно работают и сети. Но эта проблема не технологическая, а финансовая. Быстрые каналы связи стоят очень дорого, поэтому многие используют модемы и домашние сети, которые никак не могут сравниться по скорости работы с оперативной памятью. Последнее время начали использоваться высокоскоростные порты типа USB 2.0 и FireWire, однако они передают данные на небольшие расстояния, ограниченные несколькими метрами.

Скорость передачи данных с жесткого диска также ограничена. На скорости считывания данных сказывается скорость вращения жесткого диска, плотность его записи и количество считывающих головок, интерфейс. Появление новых HDD с интерфейсом SATA и с частотой вращения 10000 оборотов в минуту не сильно изменило ситуацию. Параметры передачи данных улучшились не более чем на 50%.

Похожая ситуация сложилась и с оперативной памятью: при переходе от SDRAM к более быстрой DDR SDRAM каких-то значительных изменений в скорости работы не наблюдается. Не спасает положение и двухканальный режим работы DDR. Исследования показали, что новый стандарт DDR II тоже не даст ощутимого прироста скорости. При увеличении частоты работы памяти и уменьшении таймингов (количества тактов, которые требуются для доступа к ячейке) финансовые затраты намного более ощутимы, чем прирост производительности.

А теперь рассмотрим кэш. Его производительность должна расти вместе с процессором, поскольку теперь он располагается на кристалле и работает, как утверждают разработчики, на частоте микропроцессора (CPU). С другой стороны логично предположить, чем больше памяти, тем она медленнее. Чем ближе к АЛУ, тем меньше должно быть памяти. За последнее десятилетие частоты процессоров возросли от считанных мегагерц до нескольких гигагерц. Частоты оперативной памяти с трудом достигают 200 МГц, если не учитывать всевозможные дуальные режимы (типа DDR II и Dual Channel DDR). А вот объемы памяти возросли. Винчестеры от нескольких десятков мегабайт увеличились в объеме до сотен гигабайт. От нескольких мегабайт до нескольких гигабайт прибавила в весе оперативная память. Кэш увеличился от нескольких килобайт до нескольких мегабайт. То есть в индустрии памяти производители делают ставку совсем не на скорость работы памяти, а на ее объем.

Намного быстрее загрузить текст из Интернета, чем набирать на клавиатуре. Если программа находится в оперативной памяти, то она быстрее развернется и будет доступней, чем грузить ее с HDD. Если нужной программы нет в памяти, то операционная система довольно долго будет ее вылавливать, ища на винчестере. Кэш хранит часто используемые данные из оперативки, и если нужной информации в кэш не оказалось, приходится обращаться в оперативку, а если ее нет и там, то к HDD. При этом скорость все меньше и меньше. Вот разработчики стремятся к тому, чтобы на каждом уровне иерархии памяти ее было больше. Чтобы загрузил один раз, и не пришлось больше обращаться на нижний уровень по узким каналам. То есть вместо того чтобы стремиться увеличить скорости между ступенями, они стараются иметь больше памяти, которая и так уже быстрая. Больше винчестер, больше оперативки, больше кэш. А как же эффективность?

Кэш эффективен на небольших последовательных объемах данных. Если процессор обращается в кэш и не находит там нужной ячейки, то из оперативной памяти подгружается целая строка. То есть не только искомая ячейка, но и все, что были по соседству. За счет этого повышается вероятность того, что при следующем запросе нужные данные окажутся в кэш, и не нужно тратить время на обращение к более медленной оперативной памяти. И действительно, если были запрошены первые три байта программы из памяти, то придется загрузить и следующие шестьсот. Однако кэш не спасает от работы с большими массивами данных (видео, звук, графика, архивы). Такие файлы просто не помещаются в кэш, поэтому все время приходится обращаться к оперативной памяти, или даже к HDD. В таких случаях все преимущества исчезают.

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

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

Начиная с Intel Pentium II, микросхемы кэш-памяти перекочевали поближе к процессору, на отдельную плату, которая вставлялась в Slot 1. А в Intel Pentium Pro они в виде отдельного кристалла монтировались вместе с процессором в одном корпусе. Недавно кэш стали делать полностью на одном кристалле с процессором.

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

Из кэш можно не только читать данные, но и записывать их туда. Но тогда в оперативной памяти и в кэш будут разные значения. Для этого все изменения в кэш должны отражаться и на оперативке. Однако если после каждого изменения в кэш ждать пока они будут внесены в ОП (write-through), то прирост скорости сводится на нет. Поэтому используются буферы, в которых выставляются изменения. Кэш продолжает нормально работать дальше, в то время как с буфера данные переписываются в оперативную память. Такой режим называется «write-back» (WB).

Часто приходится видеть в прайсах, что один и тот же процессор с одинаковой тактовой частотой поставляется в двух вариантах, например с кэш L2 256 Кб и 512 Кб. Отсюда и цена разнится. Оказывается, внутри процессора есть также многоступенчатая иерархия памяти. L1 (Level 1) - это уровень самый близкий непосредственно к АЛУ. L2 обычно кэширует оперативную память, a L1 кэширует L2. В некоторых версиях процессоров между L2 и оперативной памятью добавляют уровень L3. Но в «настольных» процессорах на сегодняшний день чаще всего встречаются только два уровня: L1 и L2

Последнее время производители утверждают, что оба уровня, а если есть третий, то и он тоже, работают на частоте ядра процессора. Однако L1, как правило, меньше по объему, чем L2. Раньше L2 выносился рядом с процессором на модуль для установки в SLOT 1. Перекочевав на кристалл CPU, L2 первоначально работал не на полной скорости процессора. Есть все основания предполагать, что L2 все же работает медленнее, чем L1. Но самое главное архитектурное различие в том, что L1 делится на кэш команд и кэш данных, в то время как в L2 находятся избранные копии содержимого оперативной памяти.

Рассмотрим три процессора AMD K7. Как зависит степень интеграции процессоров этого поколения от объема кэш L2: 25.2 миллионов транзисторов (152 Кб L1, 64 Кб L2); 37.2 миллионов транзисторов (152Кб L1, 256 Кб L2); 54.3 миллионов транзисторов (152Кб L1, 512 Кб L2). Нетрудно посчитать, что один килобайт кэш L2 увеличивает степень интеграции процессора примерно на 66 тысяч транзисторов. Причем 512 Кб кэш L2 занимает больше половины площади кристалла. То есть вместо этого дополнительного кэш можно вполне  вместить второй процессор. Похожая ситуация наблюдается и у двух процессоров Intel Pentium 4: 42 миллионов транзисторов (12 Кб Lite + 8 Кб L1d, 256 Кб L2); 55 миллионов транзисторов (12 Кб Lite + 8 Кб L1d, 512 Кб L2). Здесь на каждый дополнительный килобайт приходится примерно 50 тысяч транзисторов.

Теперь ясно, почему процессоры с большим кэш дороже. Ведь с его увеличением растет степень интеграции и площадь кристалла, на одну пластину помещается меньше кристаллов, уменьшается выход годных. Хотя производители часто предпочитают продавать процессоры с отключенным дополнительным объемом кэш. Так, например, у Intel Pentium 4 55 миллионов транзисторов с кэш L2 всего 256 Мб, при этом он греется сильнее, чем CPU со степенью интеграции 42 миллиона транзисторов.

Хотя есть и другой вариант развития и разрешения ситуации: выпуск многоядерных процессоров на одном кристалле.

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

 


Читайте:


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


Защитный код
Обновить

Кто на самом деле первым открыл транзистор?

News image

К сожалению, мировая слава первооткрывателя не всегда достается тем, кто действительно был первым. Это в полной мере можно отнести к ге...

Творцы улыбок

News image

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

Жесткие диски для ноутбуков становятся тоньше

News image

На данный момент жесткие диски для ноутбуков могут быть толщиной 9,5 мм и 12,5 мм. Первые получили наибольшее распространение, а об...

MacBU подытоживает две тысячи девятый год

News image

Как прошел 2009 год в компании, которую традиционно принято считать вторым крупнейшим разработчиков ПО для платформы Apple Macintosh? В Microsoft Ma...

Financial Times обещает iTablet уже в следующем месяце

News image

Конец декабря редакция Financial Times решила скрасить очередной порцией слухов о планшетнике Apple. По данным издания, это устройство, покорившее заголовки СМ...

Внедрение 6-ядерных процессоров Intel Xeon может потребовать

News image

Изданию Fudzilla стали известны подробности по первому 6-ядерному процессору Intel Xeon. Он получит обозначение Core i7 980X, а его несущая тактовая ча...

VESA официально утвердила стандарт mini DisplayPort

News image

Презентованный Apple осенью 2008-го новый видеоинтерфейс mini DisplayPort (сокращенно mDP) вызвал неоднозначную реакцию, отголоски которой оставались различимыми вплоть до вчерашнего дн...

Планшетный Мак покажут 26 января?

News image

За несколько дней до начала нового 2010 года онлайн-пресса разразилась новым потоком слухов на тему планшетного компьютера Apple: сначала хорошо ос...