Способ копирования данных в кэш-памяти и устройство для его осуществления

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

 

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

Известен способ копирования данных, использующий стандартные команды микропроцессора и реализованный в операционной системе Linux.

Известен также способ и устройство, производящее копирование данных из одной области памяти в другую, при этом адреса обоих областей памяти задаются (определяются) одной командой. Контроллер получает значения начальных и конечных адресов областей памяти, предназначенных для копирования из одной области в другую, и производит копирование данных от начального адреса до конечного (Заявка US №2004/0049649, Кл. G06F 12/00, опубл. 11.03.2004).

Известен способ и устройство, производящее копирование данных из одной области памяти в другую без использования инструкций загрузки/сохранения данных, оперируя значениями начальных и конечных адресов областей памяти, предназначенных для копирования из одной области в другую, и счетчиком, показывающим количество одиночных операций копирования данных (Заявка US 2010/1099054, Кл. G06F 12/00, опубл. 2010).

Недостатком описанных выше способов и устройств копирования данных является сложность осуществления данных способов из-за отсутствия из пользовательского приложения прямого доступа к системному контроллеру, выполняющему операции копирования. Наиболее близким по технической сути и достигаемому техническому результату является способ копирования данных, включающий вычисление виртуальных адресов для чтения по адресу источника данных и записи по адресу приемника данных по инструкции, трансляцию виртуальных адресов источника и приемника данных в физические адреса, обращение по ним в кэш-память первого уровня и кэш-память второго уровня и загрузку данных по адресу источника данных из внешней памяти в кэш-память первого и второго уровней, и устройство, осуществляющее способ, включающее сумматор адресов, блок трансляции адресов, кэш-память первого и второго уровней и внешнюю память (Патент RU №2359315, Кл. G06F 9/30, опубл. 2008).

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

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

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

Изобретение поясняется чертежом, на котором представлена схема копирования памяти.

Устройство состоит из центрального процессора (ЦП) 1 и внешней памяти (ВП) 2. Процессор состоит из буфера инструкций (БИ) 3, сумматора адресов (СА) 4, блока трансляции адресов (БТА) 5, подсистема памяти состоит из кэш-памяти первого уровня (КП1) 6 и кэш-памяти второго уровня (КП2) 7, включающих блоки мультиплексирования входных данных 8 и 9 соответственно. В подсистеме памяти имеются ячейки памяти по адресам источника данных 10 в блоке КП2 7 и 11 в блоке ВП 2 и ячейки по адресам приемника данных 12 в блоке КП1 6 и 13 в блоке КП2 7.

Копирование данных по способу при помощи описанного выше устройства осуществляют следующим образом. К набору инструкций устройства добавляют новую инструкцию копирования кэш-линии. Выполняя программу, декодируют инструкцию копирования кэш-линии, буфером инструкций (БИ) 3, посредством которого разбивают ее на две, последовательно подаваемые такты на сумматор адресов (СА) 4. В сумматоре адресов (СА) 4 вычисляют виртуальные адреса и передают их на блок трансляции адресов (БТА) 5, и транслируют их в физические адреса. Первый из полученных адресов интерпретируют как адрес источника данных, второй (в следующем такте) - как адрес приемника данных.

По адресам источника данных (виртуальному с выхода сумматора адресов (СА) 4 и физическому с выхода блока трансляции адресов (БТА) 5) обращаются в кэш-память первого (КП1) 6 и второго (КП2) 7 уровней и во внешнюю память (ВП) 2. Виртуальный адрес используют для адресации кэш-памяти первого (КП1) 6 и второго (КП2) 7 уровней, а физический - для проверки тегов и обращений во внешнюю память (ВП) 2.

В случае, если данные по адресу источника данных есть в кэш-памяти второго уровня (КП2) 7, то производят чтение всей строки кэш-линии. В противном случае, обращаются во внешнюю память (ВП) 2 по адресу источника данных 11. Чтение по адресу источника данных из внешней памяти производят шириной в кэш-линию. На следующем такте прочитанные данные подают на вход мультиплексоров данных 8 и 9 в кэш-памяти первого (КП1) 6 и второго (КП2) 7 уровней соответственно для записи их по адресу приемника данных 12 и 13.

Посредством мультиплексоров 8 и 9 выбирают данные, считанные из кэш-памяти второго уровня (КП2) 7 (источник 10) или из внешней памяти (ВП) 2 (источник 11) в зависимости от попадания (или промаха) в кэш-память второго уровня (КП2) 7. Данные, выбранные мультиплексорами 8 и 9, записывают по адресу приемника данных 12 в кэш-память первого уровня (КП1) 6 и по адресу приемника данных 13 в кэш-память второго уровня (КП2) 7. Запись производят по виртуальному адресу приемника данных, полученному с выхода сумматора адресов (СА) 4, с использованием для записи тегов физического адреса приемника данных, полученному с выхода блока трансляции адресов (БТА) 5.

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

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

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

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



 

Похожие патенты:

Изобретение относится к вычислительной технике. .

Изобретение относится к вычислительной технике. .

Изобретение относится к вычислительной технике. .

Изобретение относится к вычислительной технике, а именно к способам сохранения состояния виртуального порта в виртуальной компьютерной системе. .

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

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

Изобретение относится к области кэш-памяти, и, более конкретно, к системам памяти с кэшем "жертвенных" данных, данных и команд. .

Изобретение относится к системам обработки, точнее, к системам виртуально маркированного кэша команд. .

Изобретение относится к технологии обработки изображений для увеличения или уменьшения изображения, воспроизводимого на дисплее, или перемещению изображения вверх, вниз, вправо или влево. Технический результат заключается в повышении эффективности воспроизведения изображения за счет алгоритма, который отдельно хранит и эффективно воспроизводит данные текстуры. Технический результат достигается за счет иерархических данных, в которых данные изображений, представляющие изображение при различных уровнях разрешения, организованы в соответствии с уровнями разрешения, содержат три типа данных, состоящих из заголовка 150, индексных блоков 160 и мозаичных изображений 170; заголовок 150 определяет несколько областей, образованных декомпозицией пирамидальной структуры в виртуальном пространстве, в котором генерируются иерархические данные; в каждой области определяется указатель, который указывает на один из индексных блоков; индексные блоки 160 генерируются для каждой области в структуре, определенной заголовком 150; указатель, который указывает на одно из мозаичных изображений 170, определяется для позиций в изображениях многих слоев, принадлежащих каждой области; изображения 170 являются данными изображений, в действительности используемых для рендеринга изображения. 10 н. и 17 з.п. ф-лы, 29 ил.

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

Изобретение относится к способам разрешения конфликта адресации узлов в асинхронных сетях. Технический результат, заключающийся в повышения надежности обнаружения и разрешения конфликта адресации узлов, достигается за счет выполняемых в сетевой системе операций, включающих этапы на которых ведущее устройство, подключенное к сети, инициирует обмен данными и формирует запросы; передает запросы по сети ведомым устройствам. Ведомые устройства принимают ответы из сети, каждое из которых подключено к сети, имеет собственный сетевой адрес и выполнено с возможностью принимать запросы ведущего устройства через сеть. Посылают из ведущего устройства в адрес выбранного ведомого устройства 1-й запрос, без задержки отправляют ответ из ведомых устройств. Посылают из ведущего устройства в адрес выбранного ведомого устройства 2-й запрос, содержащий команду, обеспечивающую случайную задержку ответа. Посылают из ведущего устройства в адрес выбранного ведомого устройства 3-й запрос выбранному ведомому устройству на изменение сетевого адреса. В случае обнаружения в сети ответа на 3-й запрос от другого ведомого устройства ведомое устройство не изменяет свой сетевой адрес, иначе ведомое устройство изменяет свой сетевой адрес и высылает ответ на 3-й запрос ведущему устройству. 6 табл.

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении конфигурирования твердотельного запоминающего устройства для конкретного раздела или виртуализированного гостя в условиях, когда управляющая программа изначально не знает о конфигурации твердотельного запоминающего устройства. Способ выполнения команды для выполнения команды конфигурирования твердотельного запоминающего устройства (Configure Storage Class Memory) в вычислительной системе, имеющей доступ к основному запоминающему устройству и твердотельному запоминающему устройству, включает: получение подсистемой ввода-вывода информации о конфигурации твердотельного запоминающего устройства; сообщение подсистемой ввода-вывода управляющей команде по меньшей мере части полученной информации о конфигурации твердотельного запоминающего устройства; получение подсистемой ввода-вывода блока запроса, содержащего командный код, указывающий команду конфигурирования твердотельного запоминающего устройства и значение общего размера для определения запрашиваемого количества приращений твердотельного запоминающего устройства; инициирование процесса конфигурирования для конфигурирования твердотельного запоминающего устройства. 3 н. и 9 з.п. ф-лы, 16 ил.

Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении операций загрузки и сохранения, осуществляемых между исполнительным кластером и модулем сопроцессора кэша. Модуль сопроцессора кэша в компьютерной системе содержит массив кэша для хранения данных; аппаратный декодирующий модуль для декодирования команд, выгружаемых из потока выполнения исполнительным кластером компьютерной системы, для уменьшения операций загрузки и сохранения, осуществляемых между исполнительным кластером и модулем сопроцессора кэша; группу из одного или более операционных модулей для выполнения множества операций с массивом кэша в соответствии с декодированными командами; при этом модуль выгрузки команд выполнен с возможностью выдачи команд напрямую в модуль сопроцессора кэша для выгрузки выполнения указанных команд в модуль сопроцессора кэша. 3 н. и 18 з.п. ф-лы, 25 ил., 1 табл.

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

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

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

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

Изобретение предназначено для выполнения запросов процессов к файловой системе. Технический результат – оптимизация работы файловой системы с запросами процессов. Система выполнения запросов процессов операционной системы к файловой системе, где запросы представляют собой вызовы API-функции, при этом система выполнения запросов содержит средство перехвата запросов, средство кэширования, базу данных запросов, средство управления доступом. 2 н. и 4 з.п. ф-лы, 3 ил.
Наверх