Устройство буферизации потоков данных, считываемых из озу

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

 

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

Известен блок в системном контроллере для работы с внешней памятью (ОЗУ), находящийся в составе гибридного микропроцессора, включающего центральный процессор, системный контроллер, внешнюю память, двухуровневую кэш-память (патент RU 2359315, кл. G06F 9/30, опублик. 20.06.2009).

Недостатком описанного блока является его низкая производительность при обращениях во внешнюю память.

Наиболее близким по технической сути и достигаемому техническому результату является механизм буферизации потоков данных, считываемых из ОЗУ и пересылаемых между двумя интерфейсами, представляющих собой шины данных ОЗУ и ЦПУ соответственно и содержащее буфер, выполненный на памяти или регистрах и накапливающий данные для их передачи по запросу с второго интерфейса без обращения за ними в первый (Патент US 7581072 В2, кл. G06F 12/00, опублик. 14.12.2006).

Недостатком описанного устройства буферизации является низкая эффективность работы. Кроме того, устройство не имеет отслеживания адреса, по которому происходит запись в память, потому при его работе возможна ситуация, когда хранящиеся в буфере данные потеряют актуальность в связи с новой записью в ОЗУ по данному адресу.

Ожидаемый технический результат от использования данного изобретения состоит в повышении производительности подсистемы памяти, заключающейся в уменьшении задержек получения запрошенных ЦПУ данных, повышении гибкости применения и хранения одновременно нескольких потоков запросов данных из памяти и увеличения пропускной способности шины данных ОЗУ за счет уменьшения на нее нагрузки.

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

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

Изобретение поясняется чертежами, где на фиг.1 представлена блок-схема устройства буферизации потоков данных, считываемых из ОЗУ.

Механизм буферизации потоков данных, считываемых из ОЗУ, состоит из тэг-контроллера 1, шины адреса чтения 2, шины адреса записи 3, стробов 4 и 5 подтверждения действительности адресов чтения и записи, шины данных ОЗУ 6, буферов 7, 8, 9 и 10, мультиплексора переключения выходов буферов 11. Также содержит шину данных ЦПУ 12, управляющую запросами к памяти и ответу ЦПУ логику 13 с машинами состояний подтверждения 14 и запроса 15, шины адреса чтения из ОЗУ 16 со стробом запроса к контроллеру ОЗУ 17 и строб 18 подтверждения данных для ЦПУ.

Устройство работает следующим образом. После сброса тэг-контроллер 1 выставляет на сигнал выбора буфера разрешение записи в буфер 7. Выход буфера 10 через мультиплексор 11 оказывается скоммутирован на шину данных ЦПУ по сигналу выбора выхода буфера от тег-контроллера 1. Когда от процессора приходит запрос 4 на чтение по адресу 2, он направляется как на тэг-контроллер 1, так и на управляющую логику 13. Тэг-контроллер 1, не обнаружив, что данные по этому адресу находятся в буфере, сигнализирует об этом по внутренней служебной шине управляющей логике, и та, с помощью машины состояния запросов 14, формирует запрос к ОЗУ на чтение 17 по адресу 16. Полученные данные заполняются в буфер 7, при этом, в зависимости от соотношения частоты шины памяти и шины ЦПУ, начинается выдача данных от мультиплексора 11 на шину 12 и формирование сигнала подтверждения 18 с помощью машины состояния получения данных 15 до того момента, как данные считаются полностью. По мере пакетной выдачи данных получение новых данных от ОЗУ завершается, и нужное количество пересылается в ЦПУ. Однако запись в буфер 7 на этом не останавливается, а продолжается, пока он не заполнится. По окончании записи машина состояния запросов 14 переходит в режим ожидания, а управляющая логика 13 выставляет сигнал окончания загрузки данных тэг-контроллеру 1, который снимает разрешение записи с буфера 7 и переводит его на буфер 8. Таким образом, в случае следующего запроса по адресу, не совпадающему с тем, по которому были записаны данные в предыдущий раз, вышеприведенный алгоритм работы повторится для буфера 8, данные в буфере 7 сохранятся для возможного будущего запроса.

В случае, если обращение на чтение со стороны процессора было по адресу, по которому уже было произведено чтение, тэг-контроллер 1 сообщает о совпадении адресов управляющей логике 13, одновременно переключая мультиплексор 11 на получение данных из того буфера, в котором хранятся нужные данные. Управляющая логика 13 формирует адрес 16, по которому будет идти чтение из буфера, на основе адреса запроса ЦПУ на чтение 2. Далее управляющая логика 13 формирует с помощью машины состояния получения данных 15 сигнал подтверждения данных для ЦПУ, и данные направляются на шину данных ЦПУ 12. Если затем в какой-либо момент последует следующий запрос на чтение 5, и адрес окажется последовательным относительно предыдущего запроса, то буфер (в данном примере буфер 8) окажется опустошен наполовину, и одновременно с выдачей данных ЦПУ с помощью машины состояния получения данных 15 машина состояния запросов 8 сформирует запрос на чтение 17 по последовательно относительно адреса запроса ЦПУ идущему адресу 16 для того, чтобы буфер 8 вновь стал полон.

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

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



 

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

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

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

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

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

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

Изобретение относится к процессорам с конвейерной архитектурой. .

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

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

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

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

Изобретение относится к модулю управления сварочным аппаратом, способу сварки методом MIG/MAG и сварочной системе. Модуль (100) предназначен для управления сварочным аппаратом с использованием рабочей точки на синергической характеристической кривой, представляемой на дисплее, характеризующей выбранный способ сварки, построенной при помощи совокупности графиков изменения параметров сварки, содержащих по меньшей мере одну характеристическую кривую (111), построенную на основании соотношения между переменной x параметров сварки и переменной y параметров сварки. Модуль (100) снабжен по меньшей мере одним задающим устройством (113) для настройки упомянутой рабочей точки, выполненным с возможностью представления рабочей точки и ее отклонения (Δ1, Δ2 ) от указанной синергической характеристической кривой на основе указанной совокупности графиков, и имеет средство отображения аудио-видео рекомендаций (502, 503, 504), соответствующих способу сварки. 8 н. и 20 з.п. ф-лы, 8 ил.

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

Группа изобретений относится к компьютерной технике и может быть использована в процессорах компьютерной системы. Техническим результатом является реализация команд, согласующихся с существующей архитектурой, уменьшающих зависимость от ресурсов архитектуры и улучшение производительности версий программного обеспечения. В заявке описано применение в компьютере набора регистров общего назначения (РОН). Каждый РОН имеет множество частей. Программы, такие как операционная система и приложения, действующие в режиме больших РОН, имеют доступ ко всему РОН, а программы, такие как приложения, действующие в режиме малых РОН, единовременно имеют доступ только к его части. В режиме малых РОН коды команд могут определять часть, доступ к которому осуществляется. 3 н. и 8 з.п. ф-лы, 18 ил.

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

Изобретение относится к средствам расчета расстояния от положения в основной памяти до границы блока основной памяти. Технический результат заключается в обеспечении обработки данных вблизи границ памяти. Получают машинную команду, которая включает: по меньшей мере одно поле кода операции для предоставления кода операции, идентифицирующего операцию Load Count to Block Boundary, предназначенную для расчета расстояния от положения в основной памяти до границы блока основной памяти; поле регистра, используемое для обозначения регистра, причем регистр включает первый операнд и по меньшей мере одно поле для указания положения второго операнда, причем второй операнд включает по меньшей мере часть указанного блока основной памяти. Выполняют машинную команду для выполнения указанной операции. Определяют расстояние от положения второго операнда до границы блока основной памяти, включающее подсчет процессором количества байт от положения второго операнда до границы блока основной памяти. Размещают значение, представляющее указанное расстояние и являющееся результатом выполнения операции Load Count to Block Boundary, в первом операнде. 3 н. и 17 з.п. ф-лы, 17 ил.

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

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