Skip to main content

Что такое Cache Bus?

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

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

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

Ранние конструкции с двумя шинами часто использовали кэш-память, расположенную на материнской плате; большие объемы встроенного кэша еще не были рентабельными из-за проблем с производительностью. Более поздние проекты часто включали в себя сочетание внутреннего и внешнего кэша, поскольку доходность улучшалась. Современные процессоры обычно используют большой объем внутреннего кэша; многие включают 8 мегабайт (МБ) или более, по сравнению со старыми проектами, которые часто имели только 8 килобайт (КБ). В современных разработках, где весь кэш находится на кристалле, шина кеша может быть довольно короткой с очень широким путем передачи данных, 512 бит в некоторых процессорах. Шина обычно работает на той же скорости, что и сам процессор. Конечным результатом является то, что содержимое кэша может быть прочитано или изменено очень быстро.

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