RU2285286C2 - Использование контекстного идентификатора в кэш-памяти - Google Patents
Использование контекстного идентификатора в кэш-памяти Download PDFInfo
- Publication number
- RU2285286C2 RU2285286C2 RU2003136262/09A RU2003136262A RU2285286C2 RU 2285286 C2 RU2285286 C2 RU 2285286C2 RU 2003136262/09 A RU2003136262/09 A RU 2003136262/09A RU 2003136262 A RU2003136262 A RU 2003136262A RU 2285286 C2 RU2285286 C2 RU 2285286C2
- Authority
- RU
- Russia
- Prior art keywords
- context identifier
- chain
- address
- cache
- base
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Изобретение относится к компьютерной технологии, в частности к способам и устройствам управления кэш-памятью с использованием контекстного идентификатора. Техническим результатом является улучшение характеристик кэш-памяти в вычислительном устройстве. Один из вариантов устройства содержит генератор контекстных идентификаторов для их генерирования, управляющий блок для приписывания контекстных идентификаторов к строкам кэша и кэш. Второй вариант устройства содержит блок генерации адреса, кэш, по меньшей мере, три компаратора, управляющий блок для генерирования двух или более контекстных идентификаторов и для выбора одного из них, два регистра для хранения адреса базы каталога страниц каждой из цепочек исполняющихся компьютерных программ, генератор контекстных идентификаторов и мультиплексор. Третий вариант устройства содержит кэш, логические схемы для сравнения запрашиваемого тега и запрашиваемого контекстного идентификатора, определитель попаданий/промахов для определения, имеется ли ложное совпадение между запрошенным контекстным идентификатором и связанным контекстным идентификатором. Способы описывают работу указанных устройств. 5 н. и 15 з.п. ф-лы, 8 ил.
Description
ОБЛАСТЬ ТЕХНИКИ
Данное изобретение относится к компьютерной технологии. Более конкретно, данное изобретение относится к улучшению характеристик кэш-памяти в вычислительном устройстве.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Использование одной или нескольких систем кэш-памяти в иерархии памяти компьютера является хорошо известным методом повышения производительности компьютера (см., например, Handy, Jim; The Cache Memory Book; Academic методом повышения Press, 1998). Фиг. 1 иллюстрирует типичный массив 100 кэш-памяти. Массив 100 кэш-памяти включает в себя строки 110 кэш-памяти. Каждая строка кэш-памяти включает в себя тег 120 и блок 130 данных. Примерная строка 140 кэш-памяти включает в себя тег 150 и блок 160 данных. Ссылочная позиция 170 показывает, что примерный тег 150 является частью адреса 170 основной памяти. Адрес 170 основной памяти является адресом основной памяти, соответствующим блоку 160 данных.
Процессоры передают команды и операнды в прямом и обратном направлениях между ядром выполнения процессора и иерархией памяти компьютера во время передач (перемещений данных) памяти. Примерами передач памяти являются загрузка команд/операндов из иерархии памяти в процессор и сохранение команд/операндов от процессора в иерархии памяти. Во время передачи памяти процессор генерирует адрес основной памяти. Часть адреса основной памяти сравнивается с элементами в теге 120 во время просмотра кэша для определения того, содержит ли массив 100 кэша элемент, соответствующий передаче памяти. Как демонстрируется связью между тегом 150 и адресом 170 основной памяти, процесс просмотра кэша ускоряется посредством требования, чтобы процессор сравнивал только часть каждого адреса основной памяти с каждым элементом в теге. Обычно кэш-память использует часть каждого линейного адреса, генерируемого процессором, для индексирования данных, хранимых в массиве 100 кэш-памяти.
Цепочкой (команд) является часть компьютерной программы, которая может выполняться независимо от других частей компьютерной программы. Производительность процессора может быть повышена, если множество цепочек команд выполняется параллельно на процессоре. Параллельное выполнение множества цепочек возможно, если зависимости среди различных команд множества цепочек обнаружены и управляются надлежащим образом.
Фиг.2 показывает, каким образом множество процессоров Intel® используют среду виртуальной памяти для поддержки большого линейного адресного пространства малой величиной физической памяти (например, ОЗУ). Во время передачи памяти процессор генерирует линейный адрес 210. Линейный адрес 210 содержит поле 220 каталога, поле 225 таблицы и поле 230 смещения. База каталога 235 страниц содержится в управляющем регистре CR3 240. Элемент 220 каталога линейного адреса 210 обеспечивает смещение для величины, содержащейся в управляющем регистре CR3 240. Каталог страниц содержит указатель 245 базы таблицы страниц. Поле 225 таблицы обеспечивает смещение, которое сочетается с указателем 245 базы таблицы страниц для идентификации базы страницы, которая содержит физический адрес 255. Поле 230 смещения сочетается с элементом таблицы страниц для идентификации физического адреса 255.
Фиг.3 иллюстрирует недостаток, связанный с выполнением просмотров кэша только с частичным адресом основной памяти. Процессор (не показан) генерирует линейные адреса 304 и 306 в ответ на команды LD0 и LD1 загрузки. 305 и 307 иллюстрируют часть каждого адреса, которая используется для выполнения просмотра кэша. Хотя 305 и 307 представляются идентичными, они являются только частью 304 и 306 соответственно. 304 и 306 отображаются в два различных физических адреса, так как каждый адрес имеет различную запись в соответствующих полях каталога (320 и 325) и полях смещения (330 и 335). Дополнительная сложность обусловлена в случае, когда, как на фиг. 3, процессор поддерживает параллельное выполнение множества цепочек. Цепочка 0 и цепочка 1 могут иметь различные значения для баз их соответствующих каталогов страниц (340 и 345). Таким образом, даже если 304 и 306 были одинаковыми, они бы отображались в два различных физических адреса.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Изобретение иллюстрировано посредством примера, но не в качестве ограничения, на чертежах, в которых одинаковые ссылочные позиции относятся к сходным элементам.
Фиг.1 - схема массива кэш-памяти известного уровня техники.
Фиг.2 - концептуальная иллюстрация преобразования линейного адреса в физический адрес.
Фиг.3 - концептуальная иллюстрация двух подобных тегов, которые отображаются в два различных физических адреса.
Фиг.4А - схема одного варианта осуществления массива кэш-памяти с использованием контекстного идентификатора.
Фиг.4В - концептуальная иллюстрация одного варианта осуществления контекстного идентификатора.
Фиг.5 - упрощенная блок-схема одного варианта осуществления генератора контекстного идентификатора и связанных управляющих схем.
Фиг.6 - блок-схема одного варианта осуществления системы кэш-памяти.
Фиг.7 - блок-схема одного варианта осуществления системы кэш-памяти.
ПОДРОБНОЕ ОПИСАНИЕ
Ниже описано использование контекстного идентификатора в кэш-памяти. В последующем описании приведено множество конкретных деталей для более глубокого понимания вариантов осуществления изобретения. Специалисту в соответствующей области техники, однако, должно быть понятно, что изобретение может быть реализовано без одной или нескольких конкретных деталей или с другими способами, компонентами, материалами и т.д. В других случаях хорошо известные структуры, материалы или операции не показаны или не описаны подробно, чтобы не затемнить сущность изобретения.
Ссылка во всем этом описании на «один вариант» или «какой-либо вариант» означает, что конкретная особенность, структура или характеристика, описанные в связи с этим вариантом, включены по меньшей мере в один вариант осуществления данного изобретения. Таким образом, использование выражений «в одном варианте» или «в каком-либо варианте» в различных местах по всему описанию необязательно относится к одному и тому же варианту осуществления. Кроме того, конкретные особенности, структуры или характеристики могут сочетаться подходящим образом в одном или нескольких вариантах осуществления.
Системы кэш-памяти индексируют строки кэш-памяти частью линейного адреса, называемого тегом. Процессор генерирует линейный адрес во время операции передачи памяти. Часть линейного адреса сравнивается с тегами во время просмотра кэша. Многие процессоры Intel® предусматривают механизм для обеспечения того, что видимое совпадение между частичным адресом и тегом является истинным совпадением. Этот механизм называется определителем попаданий/промахов. Определитель попаданий/промахов работает параллельно процессу просмотра кэш-памяти. Определитель попаданий/промахов преобразует линейный адрес, связанный с выданной командой, в соответствующий физический адрес и сравнивает этот физический адрес с полным адресом, связанным с тегом, который совпадает с частичным линейным адресом. Определитель попаданий/промахов является намного более медленным, чем кэш-память, так как он должен переводить линейные адреса в физические адреса и так как он выполняет сравнения полных адресов. Если определитель попаданий/промахов обнаруживает, что кэш-память вызвала ложное совпадение, он исправляет ошибки, сделанные кэш-памятью. Процесс обнаружения и ответа на ошибки, введенные ложным совпадением в кэш-памяти, может ухудшить производительность процессора. Фиг. 4А иллюстрирует один вариант осуществления массива кэш-памяти, содержащего контекстный идентификатор. Массив 400 кэш-памяти включает в себя множество строк 410 кэш-памяти. Каждая строка 410 кэш-памяти включает в себя контекстный идентификатор 405, тег 420 и блок 430 данных. Таким образом, строка 440А кэш-памяти включает в себя контекстный идентификатор 415А и тег 450А. Подобным же образом строка 440В кэш-памяти включает в себя контекстный идентификатор 415В и тег 450В. Две различные цепочки генерировали контекстные идентификаторы 415А и 415В.
Линейные адреса 470А и 470В соответствуют тегам 450А и 450В. На фиг.4А и 4В линейные адреса содержат контекстные идентификаторы для иллюстрации того, как контекстные идентификаторы могут быть использованы для различения между подобными линейными адресами. Контекстные идентификаторы, однако, не являются частью линейного адреса и генерируются отдельно из линейных адресов.
Системы кэш-памяти, реализуемые согласно известному уровню техники, проводят просмотры кэша путем сравнения частичного линейного адреса, генерируемого процессором (не показан), с каждым тегом 420 в массиве 400 кэш-памяти. Если процессор генерировал частичный линейный адрес 123, то этот адрес совпадал бы как с тегом 450А, так и с тегом 450В. Как утверждалось выше, определитель попаданий/промахов в конечном счете определяет, какая строка кэша, если таковая имеется, совпадает с адресом основной памяти, генерируемым процессором. Системы известного уровня техники испытывают ухудшение рабочих характеристик, когда определитель попаданий/промахов осуществляет управление и коррекцию в отношении ложных совпадений между частичным линейным адресом и тегом 420.
Фиг.4В иллюстрирует использование контекстных идентификаторов для уменьшения частоты ложного совпадения между частичным линейным адресом, генерируемым процессором, и тегом 420. Линейные адреса 470А и 470В связаны со строками 440А и 440В кэш-памяти фиг.4А. Адрес 475 генерируется процессором в ответ на выданную команду. Адрес 475 включает в себя контекстный идентификатор 480 и частичный линейный адрес 485. Кэш-память известного уровня техники идентифицировала ложное совпадение между 475 и 470В, поскольку частичный линейный адрес 485 совпадает с тегом 450В. В одном варианте осуществления контекстный идентификатор 480 сравнивается с контекстным идентификатором 415В. Также в одном варианте осуществления частичный линейный адрес 485 сравнивается с тегом 450В. Таким образом, массив 400 кэша не обнаружит ложное совпадение между 475 и 470В, так как контекстный идентификатор 480 не совпадает с контекстным идентификатором 415В.
Фиг.5 иллюстрирует один вариант осуществления части обработчика пропусков страницы (ОПС). В одном варианте осуществления ОПС 500 генерирует и управляет назначением контекстных идентификаторов. ОПС 500 включает в себя генератор 510 контекстных идентификаторов, компаратор 520, мультиплексор 530 контекстных идентификаторов и инвертор 540. В одном варианте осуществления генератор 510 контекстных идентификаторов генерирует однобитовое двоичное число, соответствующее исполняемой в данный момент цепочке. В других вариантах осуществления изобретения генератор 510 контекстных идентификаторов генерирует двоичное число с несколькими битами. Компаратор 520 сравнивает адреса баз каталогов страниц, используемых двумя цепочками, которые исполняются в процессоре. В другом варианте контекстный идентификатор содержит два или более битов.
Согласно одному варианту осуществления ОПС 500 определяет, приписан или нет один и тот же контекстный идентификатор к командам двух различных цепочек. Для варианта, показанного на фиг. 5, ОПС 500 приписывает первый контекстный идентификатор к первой цепочке, которая выполняется в процессоре. Например, если цепочка 0 является первой цепочкой для выполнения в процессоре, то процессор может приписать 0 как контекстный идентификатор цепочки 0. Не требуется, чтобы контекстный идентификатор совпадал с номером цепочки. Таким образом, цепочка 0 может иметь контекстный идентификатор либо 1, либо 0. В других вариантах осуществления изобретения процессор выполняет более чем две цепочки команд и используются контекстные идентификаторы из более чем одного бита.
Если вторая цепочка начинает выполняться в процессоре (например, цепочка 1), то ОПС 500 определяет, приписать ли командам второй цепочки другой контекстный идентификатор, отличный от приписанного к командам цепочки 0. Возможно, что цепочка 0 и цепочка 1 используют одни и те же страницы в основной памяти. Если это так, то желательно приписать один и тот же контекстный идентификатор к командам двух цепочек, так как ложное совпадение между тегом и линейным адресом является менее вероятным, когда известно, что линейный адрес отображается на ту же самую страницу, что и тег. Компаратор 520 определяет, используют ли цепочка 0 и цепочка 1 одни и те же страницы в основной памяти путем сравнения баз каталогов страниц, используемых двумя цепочками.
Если цепочка 0 и цепочка 1 используют один и тот же адрес, что и база для их соответствующих каталогов страниц, то мультиплексор 530 выберет один и тот же контекстный идентификатор для цепочки 1, что и выбранный для цепочки 0. Напротив, если компаратор 520 указывает, что цепочка 0 и цепочка 1 не используют один и тот же адрес для баз их каталогов страниц, то мультиплексор 530 выбирает выход инвертора 540 как контекстный идентификатор для цепочки 1. Определение того, используют ли совместно две цепочки один и тот же контекстный идентификатор, может быть реализовано другим образом. Например, в некотором варианте осуществления изобретения операционная система определяет, используют ли совместно две цепочки один и тот же контекстный идентификатор, и явным образом сообщает процессору правильный контекстный идентификатор для присоединения к цепочке. В еще одном варианте осуществления изобретения предсказывающее устройство, которое изучает модели доступа к данным для цепочек, предсказывает контекстный идентификатор. Согласно одному варианту осуществления пользователь может выдать команду ОПС 500 всегда выбирать одну и ту же величину для команд двух различных цепочек или всегда выбирать различные величины контекстного идентификатора для команд двух различных цепочек. Также некоторые варианты используют дополнительные критерии, кроме адреса базового каталога, для определения, используют ли совместно цепочки один и тот же контекстный идентификатор.
В другом варианте осуществления изобретения более двух цепочек присутствуют в процессоре. Для варианта, где в процессоре присутствуют n цепочек, контекстные идентификаторы расширены до схемы кодирования, которая позволяет определить n различных контекстных идентификаторов. Специалисту в данной области техники очевидно, что когда используется n-битовый контекстный идентификатор, n битов помещаются в кэш таким же образом, как и единственный бит помещается в кэш. Также специалисту в данной области техники очевидно, что сравнение n-битовых контекстных идентификаторов друг с другом может быть осуществлено по существу таким же образом, что и сравнение двух однобитовых контекстных идентификаторов.
Вариант осуществления изобретения с множеством цепочек использует пул (буферную область) неиспользуемых контекстных идентификаторов. Когда цепочка изменяет свою базу таблицы страниц (CR3), она сравнивает новое значение со значением базы таблицы страниц, используемой другими активными цепочками, или с любой допустимой базой таблицы страниц контекстного идентификатора в пуле. Если имеется совпадение, она берет значение контекстного идентификатора цепочки, которая вызвала это совпадение. Если с другой активной цепочкой совпадения нет, то она берет неиспользуемый контекстный идентификатор из пула. Контекстные идентификаторы возвращаются в неиспользуемый пул, когда цепочка изменяет свое значение базы страниц, либо когда освобождена последняя строка кэша с данным контекстным идентификатором. Последняя конфигурация позволяет цепочке обращаться к данным, которые внесла предыдущая цепочка. Специалисту в данной области техники очевидно, что может быть использовано много схем для предсказания значения контекстного идентификатора для цепочки.
Фиг. 6 иллюстрирует считывание из системы кэш-памяти, имеющей контекстный идентификатор. Массив 610 кэша включает в себя строки 605 кэша. Каждая строка 605 кэша включает в себя контекстный идентификатор 610А, тег 610В и блок 610С данных. Массив 610 кэша связан с контроллером 620 кэша. Контроллер 620 кэша управляет доступом к данным, содержащимся в массиве 610 кэша.
Контроллер 620 кэша связан с определителем 670 попаданий/промахов и компараторами 675 и 680. Работа определителя 670 попаданий/промахов и компараторов 675 и 680 обсуждается ниже. В одном варианте компаратор связан с блоком генерации адреса (БГА) 630, а также с элементом И 685. БГА 630 генерирует линейные адреса для выданных команд, которые запрашивают передачу памяти (т.е. команды LOAD - загрузить и STORE - сохранить). В одном варианте компаратор 680 связан с элементом И 685 и ОПС 640 через мультиплексор 650. ОПС 640 содержит управляющую логику, используемую для определения того, какой контекстный идентификатор приписан к какой выданной команде.
Цикл считывания обычно инициируется выданной командой LOAD - загрузить (LD) 660. LD 660 посылается к ОПС 640 и БГА 630. ОПС 640 определяет, среди других вещей, какая цепочка является источником LD 660. ОПС 640 приписывает контекстный идентификатор к LD 660 частично на основе того, какая цепочка является источником LD 660. ОПС 640 выдает контекстный идентификатор, связанный с LD 660, к компаратору 680 через мультиплексор 650. Подобным же образом БГА 630 выдает частичный линейный адрес к компаратору 675.
Компараторы 675 и 680 используют частичный линейный адрес и контекстный идентификатор LD 660 для определения того, содержит ли массив 610 кэша информацию, которую запрашивает LD 660. Если массив 610 кэша содержит требуемую информацию, то имеет место кэш-попадание. Если массив 610 кэша не содержит требуемой информации, то имеет место кэш-промах.
Кэш-попадание требует, чтобы конкретная строка кэша содержала контекстный идентификатор, который совпадает с контекстным идентификатором LD 660, и тег, который совпадает с частичным линейным адресом, соответствующим LD 660. Компараторы 675 и 680 сравнивают поле тега и поле контекстного идентификатора каждой строки кэша с контекстным идентификатором и частичным линейным адресом LD 660. Согласно одному варианту имеется столько компараторов, сколько имеется строк кэша, так что сравнения могут осуществляться в единственной параллельной операции. Если единственная строка кэша содержит контекстный идентификатор и тег, который совпадает с контекстным идентификатором и частичным линейным адресом LD 660, то элемент И 685 сигнализирует кэш-попадание. Существует, однако, возможность того, что кэш-попадание основано на ложном совпадении, так как компаратор 675 сравнивает только часть адреса LD 660 с каждым тегом в массиве 610А кэша.
Определитель 670 попаданий/промахов детектирует, основано ли кэш-попадание на ложном совпадении. Определитель попаданий/промахов принимает полный линейный адрес местонахождения в основной памяти, из которого LD 660 запрашивает команду/операнд. Согласно одному варианту определитель 670 попаданий/промахов транслирует линейный адрес, переданный ему БГА, в физический адрес. Определитель 670 попаданий/промахов определяет физический адрес, соответствующий тегу, совпадающему с частичным линейным адресом LD 660. Определитель 670 попаданий/промахов сравнивает оба полных физических адреса для определения того, основано ли кэш-попадание на ложном совпадении.
Фиг.7 иллюстрирует запись в кэш-память с использованием контекстного идентификатора. Массив 710 кэша включает в себя множество строк 705 кэша. Каждая строка 705 кэша включает в себя контекстный идентификатор 710А, тег 710В и блок данных 710С. Массив 710 кэша связан с контроллером 720 кэша. Контроллер 720 кэша выполняет множество функций, включая определение того, в какую строку кэша будет записан блок данных. Контроллер 720 кэша связан с БГА 730 и ОПС 740 через мультиплексор 750.
Выданные команды 760 посылаются от процессора (не показан) к ОПС 740 и БГА 730. В одном варианте БГА 730 генерирует линейный адрес, когда выданная команда 760 требует передачу памяти. БГА 730 обычно является частью ядра выполнения процессора. В других вариантах БГА 730 может генерировать физический адрес. В одном варианте ОПС 740 генерирует по меньшей мере два контекстных идентификатора и управляющие сигналы, которые управляют мультиплексором 750. В других вариантах ОПС 740 может генерировать любое количество контекстных идентификаторов.
Цикл записи обычно инициируется выданной командой сохранения (ST) (например, ST 760). ST 760 посылается к ОПС 740 и БГА 730. ОПС 740 определяет, какая цепочка является источником ST 760. ОПС 740 далее определяет, какой контекстный идентификатор приписать к ST 760. Согласно одному варианту ОПС 740 имеет три режима работы: «выключено», «не используется совместно» и «адаптивный». Если ОПС 740 работает в режиме «выключено», то ОПС 740 может записать одно и то же значение для каждого контекстного идентификатора. Строка кэша используется совместно командами двух или более цепочек, если эти цепочки имеют один и тот же контекстный идентификатор, что и контекстный идентификатор, хранимый в строке кэша.
При работе в режиме «не используется совместно» ОПС 740 может приписать особый контекстный идентификатор к цепочке, которая содержит выданную команду. В одном варианте режим «адаптивный» позволяет ОПС 740 динамически определить, приписать ли одни и те же или различные контекстные идентификаторы для команд, происходящих из различных цепочек. В одном варианте если цепочки совместно используют один и тот же адрес для базы их каталогов страниц, то ОПС 740 динамически приписывает один и тот же контекстный идентификатор для команд, содержащихся в цепочках. Если это не так в одном варианте, то ОПС 740 динамически приписывает различные контекстные идентификаторы к командам, содержащимся в цепочках.
В одном варианте ОПС 740 учитывает, находится ли компьютер в режиме множества цепочек и задействован ли страничный обмен при определении того, записать ли один и тот же контекстный идентификатор для команд двух различных цепочек. Любое количество критериев может использоваться для определения значения контекстного идентификатора, которое приписывается к выданной команде. Далее генератор контекстных идентификаторов и связанная управляющая логика могут быть помещены во множество мест в пределах электронной системы и не обязательно должны содержаться в ОПС или подобном блоке.
ОПС 740 посылает контекстный идентификатор, подходящий для ST 760 к контроллеру 720 кэша, через мультиплексор 750. БГА 730 генерирует линейный адрес, соответствующий местонахождению основной памяти, в которое ST 760А пытается сохранить данные. БГА 730 снабжает контроллер 720 кэша и определитель 770 попаданий/промахов линейным адресом, соответствующим ST 760. Контроллер 720 кэша применяет стратегию замены строк кэш-памяти для определения того, какая строка кэша будет использована для сохранения данных для ST 760. Стратегии замены строк кэш-памяти хорошо известны в данной области техники (см., например, Handy, Jim; The Cache Memory Book; Academic Press, 1998).
После выбора подходящей строки кэша контроллер 720 кэша записывает контекстный идентификатор в поле 780А контекстного идентификатора выбранной строки 780 кэша. Контроллер 720 кэша записывает часть линейного адреса ST 760 в поле 780В тега строки 780 кэша. В одном варианте тег содержит биты 23-12 32-битового линейного адреса. Имеется много комбинаций адресных битов, которые могут быть использованы для тега. Контроллер кэша записывает данные, связанные с ST 760, в поле 780С блока данных выбранной строки 780 кэша.
Управление кэш-памятью может выполняться командами от доступного электронного носителя, который может использоваться для программирования компьютера (или других электронных устройств) для выполнения описываемого здесь процесса. Доступный электронный носитель может включать в себя, но не ограничен этим, флоппи-дискеты, оптические диски, CD-ROM, магнитно-оптические диски, ПЗУ, ОЗУ, электрически программируемое ПЗУ, ЭСППЗУ, магнитные или оптические карточки, флэш-память или другой тип носителя/считываемого машиной носителя, подходящего для сохранения электронных команд. Кроме того, команды могут также загружаться как компьютерный программный продукт, в котором программа может переноситься от удаленного компьютера к запрашивающему компьютеру посредством информационных сигналов, воплощенных в несущей волне или в другой среде распространения через линию связи (например, модем или подключение к сети).
Вышеприведенное описание иллюстрированных вариантов изобретения не предназначено быть исчерпывающим или ограничивающим изобретение точными раскрытыми формами. Хотя конкретные варианты осуществления и примеры изобретения описаны здесь с иллюстративными целями, возможны различные эквивалентные модификации в рамках объема изобретения, как должно быть понятно специалистам в соответствующей области техники.
Такие модификации могут быть сделаны в изобретении в свете вышеприведенного подробного описания. Термины, использованные в следующей формуле изобретения, не должны толковаться как ограничивающие изобретение конкретными вариантами осуществления, раскрытыми в описании и формуле изобретения. Объем изобретения должен быть полностью задан следующей формулой изобретения, которая должна толковаться в соответствии с установленными доктринами интерпретации формулы изобретения.
Claims (20)
1. Способ управления кэш-памятью с использованием контекстного идентификатора, содержащий
сохранение первого контекстного идентификатора, связанного с тегом, в кэш-памяти;
генерирование адреса, который связан с выданной командой;
сравнение части адреса с тегом для определения того, совпадает ли адрес с тегом;
сравнение второго контекстного идентификатора, связанного с выданной командой, с первым контекстным идентификатором, хранимым в кэш-памяти, для определения того, совпадает ли второй контекстный идентификатор, связанный с выданной командой, с первым контекстным идентификатором, хранимым в кэше,
определение того, не является ли совпадение между первым контекстным идентификатором и вторым контекстным идентификатором ложным совпадением, и
передачу блока данных из кэш-памяти в процессор, если часть адреса совпадает с тегом и если второй контекстный идентификатор, связанный с выданной командой, совпадает с первым контекстным идентификатором, хранимым в кэш-памяти.
2. Способ по п.1, дополнительно содержащий замену блока данных строки кэша в кэш-памяти, который выбран стратегией замены, блоком данных, определенным адресом, если часть адреса не совпадает с тегом; и
сохранение первого контекстного идентификатора в строке кэша.
3. Способ по п.1, дополнительно содержащий замену блока данных строки кэша в кэш-памяти, который выбран стратегией замены, блоком данных, определенным адресом, если часть адреса не совпадает с тегом и второй контекстный идентификатор, связанный с командой, не совпадает с первым контекстным идентификатором, хранимым с тегом; и
сохранение первого контекстного идентификатора в строке кэша.
4. Способ управления кэш-памятью с использованием контекстного идентификатора, включающий в себя
сравнение адреса базы каталога страниц, используемого первой цепочкой команд, с адресом базы каталога страниц, используемым второй цепочкой, для определения того, совпадает ли адрес базы каталога страниц, используемый первой цепочкой, с адресом базы каталога страниц, используемым второй цепочкой;
приписывание контекстного идентификатора как к первой цепочке, так и ко второй цепочке, если адрес базы каталога страниц, используемый первой цепочкой, совпадает с адресом базы каталога страниц, используемым второй цепочкой;
приписывание различного контекстного идентификатора к первой цепочке и второй цепочке, если адрес базы каталога страниц, используемый первой цепочкой, не совпадает с адресом базы каталога страниц, используемым второй цепочкой,
сохранение адреса базы каталога страниц первой цепочки в первом регистре;
сохранение адреса базы каталога страниц второй цепочки во втором регистре;
считывание первого регистра для определения адреса базы каталога страниц первой цепочки и
считывание второго регистра для определения адреса базы каталога страниц второй цепочки.
5. Способ по п.4, в котором первый регистр и второй регистр являются одним и тем же регистром.
6. Способ по п.4, в котором один и тот же контекстный идентификатор приписывается к первой цепочке и второй цепочке.
7. Способ по п.4, в котором различный контекстный идентификатор приписывается к первой цепочке и второй цепочке.
8. Устройство для управления кэш-памятью с использованием контекстного идентификатора, содержащее
генератор контекстных идентификаторов для генерирования контекстных идентификаторов;
управляющий блок, связанный с генератором контекстных идентификаторов, для приписывания контекстных идентификаторов к строкам кэша и
кэш, связанный с управляющим блоком, имеющий множество участков кэша для хранения множества строк кэша, причем каждая из строк кэша включает в себя, по меньшей мере, контекстный идентификатор, тег и блок данных.
9. Устройство по п.8, в котором управляющий блок дополнительно содержит
один или более регистров для сохранения адресов одной или более баз одного или более каталогов страниц и
компаратор, связанный с регистром, для сравнения адреса базы каталога страниц, используемого первой цепочкой, с адресом базы каталога страниц, используемым второй цепочкой.
10. Устройство по п.9, дополнительно содержащее мультиплексор, связанный с компаратором и с генератором контекстных идентификаторов для выбора контекстных идентификаторов.
11. Устройство по п.10, в котором каждый контекстный идентификатор содержит один или более битов, соответствующих указателю базы каталога страниц, который является физическим адресом базы каталога страниц.
12. Устройство по п.11, в котором контекстный идентификатор содержит один или несколько битов тега.
13. Устройство для управления кэш-памятью с использованием контекстного идентификатора, содержащее
блок генерации адреса (БГА) для генерирования адресов в ответ на команду, выданную процессором;
кэш для сохранения множества строк кэша, причем каждая из множества строк кэша включает в себя, по меньшей мере, контекстный идентификатор, тег и блок данных;
по меньшей мере, один компаратор, связанный с БГА и связанный с кэшем, для сравнения части адреса, генерируемой БГА, с каждым из тегов в каждой из множества строк кэша;
управляющий блок для генерирования двух или более контекстных идентификаторов и для выбора одного из двух или более контекстных идентификаторов;
по меньшей мере, один компаратор, связанный с управляющим блоком и связанный с кэшем, для сравнения контекстного идентификатора, выбранного управляющим блоком, с каждым из контекстных идентификаторов в каждой из множества строк кэша;
первый регистр для хранения адреса базы каталога страниц, связанного с первой цепочкой исполняющихся компьютерных команд;
второй регистр для хранения адреса базы каталога страниц, связанного со второй цепочкой исполняющихся компьютерных команд;
компаратор, связанный с первым регистром и вторым регистром, для сравнения значения, хранимого в первом регистре, со значением, хранимым во втором регистре;
генератор контекстных идентификаторов для генерирования, по меньшей мере, двух контекстных идентификаторов и
мультиплексор, связанный с генератором контекстных идентификаторов и компаратором, для выбора одного из, по меньшей мере, двух контекстных идентификаторов.
14. Устройство по п.13, в котором
мультиплексор обеспечивает выбор первого контекстного идентификатора, если адрес базы каталога страниц, связанный с первой цепочкой исполняющихся компьютерных команд, совпадает с адресом базы каталога страниц, связанным со второй цепочкой исполняющихся компьютерных команд; и
мультиплексор обеспечивает выбор второго контекстного идентификатора, если адрес базы каталога страниц, связанный с первой цепочкой исполняющихся компьютерных команд, не совпадает с адресом базы каталога страниц, связанным со второй цепочкой исполняющихся компьютерных команд.
15. Устройство для управления кэш-памятью с использованием контекстного идентификатора, содержащее
кэш-память для хранения множества строк кэша, причем каждая строка кэша имеет связанный тег и связанный контекстный идентификатор; и
логические схемы сравнения для сравнения запрашиваемого тега и запрашиваемого контекстного идентификатора со связанным тегом и связанным контекстным идентификатором для каждой из множества строк кэша и
определитель попаданий/промахов для определения, имеется ли ложное совпадение между запрошенным контекстным идентификатором и связанным контекстным идентификатором.
16. Устройство по п.15, в котором связанный контекстный идентификатор содержит идентификатор цепочки.
17. Устройство по п.15, в котором в первом режиме связанный контекстный идентификатор содержит идентификатор цепочки, а во втором режиме связанный контекстный идентификатор является предсказанным контекстным идентификатором.
18. Устройство по п.17, в котором во втором режиме предсказанный контекстный идентификатор определяется, по меньшей мере, частично путем сравнения базы каталога страниц, используемой первой цепочкой, с базой каталога страниц, используемой второй цепочкой, для определения того, совпадает ли база каталога страниц, используемая первой цепочкой, с базой каталога страниц, используемой второй цепочкой.
19. Устройство по п.18, в котором во втором режиме предсказанный контекстный идентификатор определяется, по меньшей мере, частично путем сравнения базы каталога страниц, используемой первой цепочкой, с базой каталога страниц, используемой второй цепочкой, и базой каталога страниц, используемой третьей цепочкой, для определения того, совпадает ли база каталога страниц, используемая первой цепочкой, с базой каталога страниц, используемой либо второй, либо третьей цепочкой.
20. Устройство по п.15, в котором логические схемы сравнения обеспечивают генерирование сигнала совпадения, только если имеет место совпадение контекстных идентификаторов и совпадение тегов.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/104,815 US7085889B2 (en) | 2002-03-22 | 2002-03-22 | Use of a context identifier in a cache memory |
US10/104,815 | 2002-03-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2003136262A RU2003136262A (ru) | 2005-05-27 |
RU2285286C2 true RU2285286C2 (ru) | 2006-10-10 |
Family
ID=28040700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2003136262/09A RU2285286C2 (ru) | 2002-03-22 | 2003-03-13 | Использование контекстного идентификатора в кэш-памяти |
Country Status (10)
Country | Link |
---|---|
US (1) | US7085889B2 (ru) |
JP (1) | JP4459628B2 (ru) |
KR (1) | KR100634930B1 (ru) |
CN (1) | CN1302396C (ru) |
AU (1) | AU2003214148A1 (ru) |
DE (1) | DE10392127T5 (ru) |
HK (1) | HK1069449A1 (ru) |
RU (1) | RU2285286C2 (ru) |
TW (1) | TWI300897B (ru) |
WO (1) | WO2003083663A2 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2509347C2 (ru) * | 2008-10-23 | 2014-03-10 | Майкрософт Корпорейшн | Гибкое увеличение страниц памяти |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560690B2 (en) * | 2000-12-29 | 2003-05-06 | Intel Corporation | System and method for employing a global bit for page sharing in a linear-addressed cache |
US20040049657A1 (en) * | 2002-09-10 | 2004-03-11 | Kling Ralph M. | Extended register space apparatus and methods for processors |
US7254617B2 (en) * | 2002-12-06 | 2007-08-07 | Scott Ruple | Distributed cache between servers of a network |
US7206916B2 (en) * | 2004-03-08 | 2007-04-17 | Sun Microsystems, Inc. | Partial address compares stored in translation lookaside buffer |
CN100440170C (zh) * | 2004-05-26 | 2008-12-03 | 英特尔公司 | 网络应用内的自动高速缓存生成 |
KR101102260B1 (ko) * | 2004-08-31 | 2012-01-03 | 프리스케일 세미컨덕터, 인크. | 가상 어드레스 캐시 및 고유 태스크 식별자를 이용하는데이터를 공유하기 위한 방법 |
EP1807767A1 (en) * | 2004-09-07 | 2007-07-18 | Freescale Semiconductors, Inc. | A virtual address cache and method for sharing data stored in a virtual address cache |
KR100899097B1 (ko) * | 2007-05-11 | 2009-05-25 | 한국과학기술원 | 복수의 인덱싱 정보를 제공하는 방법 및 이를 이용한 캐쉬메모리 장치 |
CN101854311A (zh) * | 2009-03-31 | 2010-10-06 | 国际商业机器公司 | 在web服务器上传递上下文信息的方法和装置 |
CN104932990B (zh) * | 2015-06-03 | 2018-05-11 | 华为技术有限公司 | 一种高速缓冲存储器中数据块的替换方法和装置 |
CN107291630B (zh) * | 2016-03-30 | 2020-08-25 | 华为技术有限公司 | 一种高速缓冲存储器处理方法及装置 |
US11379592B2 (en) * | 2018-12-20 | 2022-07-05 | Intel Corporation | Write-back invalidate by key identifier |
US11593109B2 (en) * | 2021-06-07 | 2023-02-28 | International Business Machines Corporation | Sharing instruction cache lines between multiple threads |
US11593108B2 (en) | 2021-06-07 | 2023-02-28 | International Business Machines Corporation | Sharing instruction cache footprint between multiple threads |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8823077D0 (en) * | 1988-09-30 | 1988-11-09 | Int Computers Ltd | Data processing apparatus |
US5341487A (en) | 1991-12-20 | 1994-08-23 | International Business Machines Corp. | Personal computer having memory system with write-through cache and pipelined snoop cycles |
TW255022B (ru) | 1993-06-30 | 1995-08-21 | Intel Corp | |
US5615343A (en) | 1993-06-30 | 1997-03-25 | Intel Corporation | Method and apparatus for performing deferred transactions |
US5568620A (en) | 1993-06-30 | 1996-10-22 | Intel Corporation | Method and apparatus for performing bus transactions in a computer system |
US5572703A (en) | 1994-03-01 | 1996-11-05 | Intel Corporation | Method and apparatus for snoop stretching using signals that convey snoop results |
JP3660679B2 (ja) | 1994-03-01 | 2005-06-15 | インテル・コーポレーション | 高度パイプライン式バス・アーキテクチャ |
US5548733A (en) | 1994-03-01 | 1996-08-20 | Intel Corporation | Method and apparatus for dynamically controlling the current maximum depth of a pipe lined computer bus system |
TW400483B (en) | 1994-03-01 | 2000-08-01 | Intel Corp | High performance symmetric arbitration protocol with support for I/O requirements |
US6029217A (en) | 1994-10-03 | 2000-02-22 | International Business Machines Corporation | Queued arbitration mechanism for data processing system |
US5710906A (en) | 1995-07-07 | 1998-01-20 | Opti Inc. | Predictive snooping of cache memory for master-initiated accesses |
KR0164395B1 (ko) | 1995-09-11 | 1999-02-18 | 김광호 | 반도체 메모리 장치와 그 리이드 및 라이트 방법 |
US5812803A (en) | 1995-09-29 | 1998-09-22 | Intel Corporation | Method and apparatus for controlling data transfers between a bus and a memory device using a multi-chip memory controller |
JPH09101916A (ja) * | 1995-10-06 | 1997-04-15 | Fujitsu Ltd | マルチプロセス処理装置 |
US5809522A (en) * | 1995-12-18 | 1998-09-15 | Advanced Micro Devices, Inc. | Microprocessor system with process identification tag entries to reduce cache flushing after a context switch |
US5838995A (en) | 1995-12-18 | 1998-11-17 | International Business Machines Corporation | System and method for high frequency operation of I/O bus |
EP0882266A1 (en) | 1996-02-20 | 1998-12-09 | Intergraph Corporation | High-availability super server |
JP3643425B2 (ja) | 1996-02-29 | 2005-04-27 | 富士通株式会社 | データ処理方法、データ処理装置及びインターフェイスコントローラ |
US5754818A (en) * | 1996-03-22 | 1998-05-19 | Sun Microsystems, Inc. | Architecture and method for sharing TLB entries through process IDS |
US6427162B1 (en) * | 1996-05-02 | 2002-07-30 | Sun Microsystems, Inc. | Separate code and data contexts: an architectural approach to virtual text sharing |
US5733603A (en) | 1996-06-05 | 1998-03-31 | Kimberly-Clark Corporation | Surface modification of hydrophobic polymer substrate |
US6012118A (en) | 1996-12-30 | 2000-01-04 | Intel Corporation | Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus |
US6065101A (en) | 1997-06-12 | 2000-05-16 | International Business Machines Corporation | Pipelined snooping of multiple L1 cache lines |
US6336159B1 (en) | 1997-06-25 | 2002-01-01 | Intel Corporation | Method and apparatus for transferring data in source-synchronous protocol and transferring signals in common clock protocol in multiple agent processing system |
US5919254A (en) | 1997-06-25 | 1999-07-06 | Intel Corporation | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system |
US5991855A (en) | 1997-07-02 | 1999-11-23 | Micron Electronics, Inc. | Low latency memory read with concurrent pipe lined snoops |
US5978869A (en) | 1997-07-21 | 1999-11-02 | International Business Machines Corporation | Enhanced dual speed bus computer system |
US6108736A (en) | 1997-09-22 | 2000-08-22 | Intel Corporation | System and method of flow control for a high speed bus |
US5964856A (en) | 1997-09-30 | 1999-10-12 | Intel Corporation | Mechanism for data strobe pre-driving during master changeover on a parallel bus |
US6691118B1 (en) * | 1997-10-31 | 2004-02-10 | Oracle International Corporation | Context management system for modular software architecture |
US6092156A (en) | 1997-11-05 | 2000-07-18 | Unisys Corporation | System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations |
KR100255664B1 (ko) * | 1997-12-29 | 2000-05-01 | 윤종용 | 반도체 집적회로의 클락 포워딩 회로 및 클락포워딩 방법 |
US6006291A (en) | 1997-12-31 | 1999-12-21 | Intel Corporation | High-throughput interface between a system memory controller and a peripheral device |
US6041380A (en) | 1998-01-21 | 2000-03-21 | Micron Electronics, Inc. | Method for increasing the number of devices capable of being operably connected to a host bus |
US6449677B1 (en) | 1998-09-03 | 2002-09-10 | Compaq Information Technologies Group, L.P. | Method and apparatus for multiplexing and demultiplexing addresses of registered peripheral interconnect apparatus |
US6141747A (en) | 1998-09-22 | 2000-10-31 | Advanced Micro Devices, Inc. | System for store to load forwarding of individual bytes from separate store buffer entries to form a single load word |
US6272604B1 (en) | 1999-05-20 | 2001-08-07 | International Business Machines Corporation | Contingent response apparatus and method for maintaining cache coherency |
US6487621B1 (en) | 1999-08-17 | 2002-11-26 | Compaq Information Technologies Group, L.P. | Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle |
US6615323B1 (en) | 1999-09-02 | 2003-09-02 | Thomas Albert Petersen | Optimizing pipelined snoop processing |
US6591321B1 (en) | 1999-11-09 | 2003-07-08 | International Business Machines Corporation | Multiprocessor system bus protocol with group addresses, responses, and priorities |
CN1173271C (zh) * | 1999-12-24 | 2004-10-27 | 仁宝电脑工业股份有限公司 | 具有双重高速缓冲映射存储器的高速缓冲存储器系统 |
US6609171B1 (en) | 1999-12-29 | 2003-08-19 | Intel Corporation | Quad pumped bus architecture and protocol |
EP1215577B1 (en) * | 2000-08-21 | 2012-02-22 | Texas Instruments Incorporated | Fault management and recovery based on task-ID |
EP1215582A1 (en) | 2000-12-15 | 2002-06-19 | Texas Instruments Incorporated | Cache memory access system and method |
EP1182571B1 (en) | 2000-08-21 | 2011-01-26 | Texas Instruments Incorporated | TLB operations based on shared bit |
US20020087824A1 (en) * | 2000-12-29 | 2002-07-04 | Hum Herbert H.J. | System and method for employing a process identifier to minimize aliasing in a linear-addressed cache |
US6560690B2 (en) * | 2000-12-29 | 2003-05-06 | Intel Corporation | System and method for employing a global bit for page sharing in a linear-addressed cache |
-
2002
- 2002-03-22 US US10/104,815 patent/US7085889B2/en not_active Expired - Lifetime
-
2003
- 2003-03-13 KR KR1020037017291A patent/KR100634930B1/ko not_active IP Right Cessation
- 2003-03-13 WO PCT/US2003/007710 patent/WO2003083663A2/en active Application Filing
- 2003-03-13 AU AU2003214148A patent/AU2003214148A1/en not_active Abandoned
- 2003-03-13 CN CNB038005220A patent/CN1302396C/zh not_active Expired - Fee Related
- 2003-03-13 RU RU2003136262/09A patent/RU2285286C2/ru not_active IP Right Cessation
- 2003-03-13 DE DE10392127T patent/DE10392127T5/de not_active Ceased
- 2003-03-13 JP JP2003581019A patent/JP4459628B2/ja not_active Expired - Fee Related
- 2003-03-14 TW TW092105617A patent/TWI300897B/zh not_active IP Right Cessation
-
2005
- 2005-03-01 HK HK05101786A patent/HK1069449A1/xx not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2509347C2 (ru) * | 2008-10-23 | 2014-03-10 | Майкрософт Корпорейшн | Гибкое увеличение страниц памяти |
Also Published As
Publication number | Publication date |
---|---|
KR20040017821A (ko) | 2004-02-27 |
KR100634930B1 (ko) | 2006-10-17 |
AU2003214148A8 (en) | 2003-10-13 |
US20030182512A1 (en) | 2003-09-25 |
RU2003136262A (ru) | 2005-05-27 |
WO2003083663A3 (en) | 2004-05-21 |
US7085889B2 (en) | 2006-08-01 |
CN1302396C (zh) | 2007-02-28 |
HK1069449A1 (en) | 2005-05-20 |
AU2003214148A1 (en) | 2003-10-13 |
TW200405155A (en) | 2004-04-01 |
JP4459628B2 (ja) | 2010-04-28 |
CN1552025A (zh) | 2004-12-01 |
WO2003083663A2 (en) | 2003-10-09 |
TWI300897B (en) | 2008-09-11 |
JP2006505834A (ja) | 2006-02-16 |
DE10392127T5 (de) | 2004-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101770429B (zh) | 用于在硬件中保存有损失的元数据的元物理地址空间 | |
US6728858B2 (en) | Method and apparatus including heuristic for sharing TLB entries | |
RU2285286C2 (ru) | Использование контекстного идентификатора в кэш-памяти | |
US6247107B1 (en) | Chipset configured to perform data-directed prefetching | |
US4797814A (en) | Variable address mode cache | |
US7194597B2 (en) | Method and apparatus for sharing TLB entries | |
US5694568A (en) | Prefetch system applicable to complex memory access schemes | |
US7461209B2 (en) | Transient cache storage with discard function for disposable data | |
US8380933B2 (en) | Multiprocessor system including processor cores and a shared memory | |
US6427188B1 (en) | Method and system for early tag accesses for lower-level caches in parallel with first-level cache | |
KR100316505B1 (ko) | 프로세서에 데이타를 제공하기 위한 캐시 및 캐시로부터 프로세서에 데이타를 제공하기 위한 방법 | |
US7039768B2 (en) | Cache predictor for simultaneous multi-threaded processor system supporting multiple transactions | |
US9058284B1 (en) | Method and apparatus for performing table lookup | |
KR20150016278A (ko) | 캐시 및 변환 색인 버퍼를 갖는 데이터 처리장치 | |
US10831675B2 (en) | Adaptive tablewalk translation storage buffer predictor | |
JP2003067357A (ja) | 不均一メモリ・アクセス(numa)データ処理システムおよびその操作方法 | |
JPH10232834A (ja) | キャッシュメモリを作動する方法およびコンピュータシステム | |
US5765199A (en) | Data processor with alocate bit and method of operation | |
KR20030010727A (ko) | 변환 색인 버퍼 플러시 필터 | |
JP2004519776A (ja) | 命令ベースレジスタに基づくキャッシュウェイ予測 | |
CN1226023A (zh) | 加载/加载检测和重定序方法 | |
JPH1124992A (ja) | バックマップを有しないマルチセット仮想キャッシュでの制限された仮想アドレスエイリアシングおよび高速コンテキスト切換え | |
CN115481054A (zh) | 数据处理方法、装置及系统、系统级soc芯片及计算机设备 | |
JP2008512758A (ja) | 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法 | |
US6643742B1 (en) | Method and system for efficient cache memory updating with a least recently used (LRU) protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20110314 |