RU2008119809A - Способ и система вычисления указателя для масштабируемого программируемого кольцевого буфера - Google Patents

Способ и система вычисления указателя для масштабируемого программируемого кольцевого буфера Download PDF

Info

Publication number
RU2008119809A
RU2008119809A RU2008119809/09A RU2008119809A RU2008119809A RU 2008119809 A RU2008119809 A RU 2008119809A RU 2008119809/09 A RU2008119809/09 A RU 2008119809/09A RU 2008119809 A RU2008119809 A RU 2008119809A RU 2008119809 A RU2008119809 A RU 2008119809A
Authority
RU
Russia
Prior art keywords
location
pointer
address
adjusted
length
Prior art date
Application number
RU2008119809/09A
Other languages
English (en)
Other versions
RU2395835C2 (ru
Inventor
Эрих ПЛОНДКЕ (US)
Эрих ПЛОНДКЕ
Лучиан КОДРЕСКУ (US)
Лучиан Кодреску
Мухаммад АХМЕД (US)
Мухаммад Ахмед
Мао ЦЗЭН (US)
Мао ЦЗЭН
Суджат ДЖАМИЛЬ (US)
Суджат Джамиль
Уилльям К. АНДЕРСОН (US)
Уилльям К. Андерсон
Original Assignee
Квэлкомм Инкорпорейтед (US)
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед (US), Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед (US)
Publication of RU2008119809A publication Critical patent/RU2008119809A/ru
Application granted granted Critical
Publication of RU2395835C2 publication Critical patent/RU2395835C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • G06F9/3552Indexed addressing using wraparound, e.g. modulo or circular addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/106Details of pointers, i.e. structure of the address generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Information Transfer Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

1. Способ адресации кольцевого буфера, содержащий этапы, на которых ! устанавливают длину упомянутого кольцевого буфера, причем упомянутая длина предназначена для ограничения адресуемого диапазона упомянутого кольцевого буфера; ! устанавливают начальный адрес для упомянутого кольцевого буфера, причем упомянутый начальный адрес выровнен в степень 2; ! устанавливают конечный адрес для упомянутого кольцевого буфера, причем упомянутый конечный адрес расположен на расстоянии от упомянутого начального адреса на упомянутую длину, меньшую чем упомянутая степень 2, и большую чем упомянутая длина;! определяют местоположение текущего указателя для адреса в упомянутом кольцевом буфере, причем местоположение упомянутого текущего указателя находится между упомянутым начальным адресом и упомянутым конечным адресом; ! определяют величину шага по индексу бит между упомянутым начальным адресом и упомянутым конечным адресом; ! определяют местоположение нового указателя в упомянутом кольцевом буфере с помощью сдвига от местоположения упомянутого текущего указателя на число бит упомянутой величины шага по индексу; и ! определяют местоположение отрегулированного указателя, находящееся в упомянутом кольцевом буфере, с помощью арифметической операции местоположения упомянутого нового указателя с упомянутой длиной. ! 2. Способ по п.1, дополнительно содержащий этап, на котором устанавливают местоположение упомянутого отрегулированного указателя в случае положительного шага по индексу: (а) в случае, когда местоположение упомянутого нового указателя меньше чем упомянутый конечный адрес, с помощью регулирования местопол�

Claims (27)

1. Способ адресации кольцевого буфера, содержащий этапы, на которых
устанавливают длину упомянутого кольцевого буфера, причем упомянутая длина предназначена для ограничения адресуемого диапазона упомянутого кольцевого буфера;
устанавливают начальный адрес для упомянутого кольцевого буфера, причем упомянутый начальный адрес выровнен в степень 2;
устанавливают конечный адрес для упомянутого кольцевого буфера, причем упомянутый конечный адрес расположен на расстоянии от упомянутого начального адреса на упомянутую длину, меньшую чем упомянутая степень 2, и большую чем упомянутая длина;
определяют местоположение текущего указателя для адреса в упомянутом кольцевом буфере, причем местоположение упомянутого текущего указателя находится между упомянутым начальным адресом и упомянутым конечным адресом;
определяют величину шага по индексу бит между упомянутым начальным адресом и упомянутым конечным адресом;
определяют местоположение нового указателя в упомянутом кольцевом буфере с помощью сдвига от местоположения упомянутого текущего указателя на число бит упомянутой величины шага по индексу; и
определяют местоположение отрегулированного указателя, находящееся в упомянутом кольцевом буфере, с помощью арифметической операции местоположения упомянутого нового указателя с упомянутой длиной.
2. Способ по п.1, дополнительно содержащий этап, на котором устанавливают местоположение упомянутого отрегулированного указателя в случае положительного шага по индексу: (а) в случае, когда местоположение упомянутого нового указателя меньше чем упомянутый конечный адрес, с помощью регулирования местоположения упомянутого отрегулированного указателя таким образом, что оно является местоположением нового указателя; и (b) в случае, когда местоположение упомянутого нового указателя больше чем упомянутый конечный адрес, с помощью регулирования упомянутого отрегулированного указателя с помощью вычитания упомянутой длины из местоположения упомянутого нового указателя.
3. Способ по п.1, дополнительно содержащий этап, на котором устанавливают местоположение упомянутого отрегулированного указателя в случае отрицательного шага по индексу: (а) в случае, когда местоположение упомянутого нового указателя больше чем упомянутый начальный адрес, с помощью регулирования местоположения упомянутого отрегулированного указателя таким образом, что оно является местоположением нового указателя; и (b) в случае, когда местоположение упомянутого нового указателя меньше чем упомянутый конечный адрес, с помощью регулирования упомянутого отрегулированного указателя с помощью прибавления упомянутой длины к местоположению упомянутого нового указателя.
4. Способ по п.1, дополнительно содержащий этап, на котором устанавливают наименьшие значащие биты упомянутого начального адреса в ноль до этапов, на которых определяют местоположение упомянутого нового указателя и определяют местоположение упомянутого отрегулированного указателя.
5. Способ по п.1, дополнительно содержащий этап, на котором получают местоположение упомянутого отрегулированного указателя в случае положительного шага по индексу с помощью прибавления замаскированного адреса в качестве упомянутого текущего указателя к упомянутому положительному шагу по индексу в устройстве генерирования адреса и вычитания упомянутой длины из суммы в сумматоре арифметического логического устройства.
6. Способ по п.1, дополнительно содержащий этап, на котором получают местоположение упомянутого отрегулированного указателя в случае отрицательного шага по индексу с помощью прибавления замаскированного адреса в качестве упомянутого текущего указателя к упомянутому отрицательному шагу по индексу в устройстве генерирования адреса, в случае отрицательной суммы получают местоположение упомянутого отрегулированного указателя непосредственно из упомянутого устройства генерирования адреса; иначе получают местоположение упомянутого отрегулированного указателя с помощью прибавления упомянутой длины к сумме в арифметическом логическом устройстве и получают местоположение упомянутого отрегулированного указателя из упомянутого арифметического логического устройства.
7. Способ по п.1, дополнительно содержащий этап, на котором используют вентиль И, чтобы выполнить маскировку входного сигнала текущего указателя для генерирования входного сигнала в сумматор устройства генерирования адреса при генерировании местоположения упомянутого нового указателя.
8. Способ по п.1, дополнительно содержащий этапы, на которых
получают сумму местоположения упомянутого текущего указателя и упомянутого шага по индексу;
маскируют и предоставляют упомянутую сумму в качестве первого входного сигнала в схему сумматора в арифметическом логическом устройстве и либо упомянутую длину, либо дополнение до двух упомянутой длины - в качестве второго входного сигнала в упомянутую схему сумматора.
9. Система для установления адресации кольцевого буфера, содержащая
кольцевой буфер, причем упомянутый кольцевой буфер содержит:
длину упомянутого кольцевого буфера, причем упомянутая длина предназначена для ограничения адресуемого диапазона упомянутого кольцевого буфера;
начальный адрес для упомянутого кольцевого буфера, причем упомянутый начальный адрес выровнен в степень 2;
конечный адрес для упомянутого кольцевого буфера, причем упомянутый конечный адрес расположен удаленно от упомянутого начального адреса на упомянутую длину, меньшую, чем упомянутая степень 2, и большую, чем упомянутая длина;
устройство генерирования адреса, предназначенное для определения местоположения текущего указателя для адреса в упомянутом кольцевом буфере, причем местоположение упомянутого текущего указателя находится между упомянутым начальным адресом и упомянутым конечным адресом;
команды определения шага по индексу, связанные с упомянутым устройством генерирования адреса, предназначенные для определения величины шага по индексу бит между упомянутым начальным адресом и упомянутым конечным адресом;
команды определения местоположения нового указателя, связанные с упомянутым устройством генерирования адреса, предназначенные для определения местоположения нового указателя в упомянутом кольцевом буфере с помощью сдвига от местоположения упомянутого текущего указателя на число бит упомянутой величины шага по индексу; и
команды определения местоположения отрегулированного указателя, связанные с упомянутым устройством генерирования адреса, предназначенные для определения местоположения отрегулированного указателя, находящегося в упомянутом кольцевом буфере, с помощью арифметической операции местоположения упомянутого нового указателя с упомянутой длиной.
10. Система по п.9, в которой команды определения местоположения упомянутого отрегулированного указателя дополнительно содержат команды, предназначенные для установки местоположения упомянутого отрегулированного указателя в случае положительного шага по индексу: (а) в случае, когда местоположение упомянутого нового указателя меньше чем упомянутый конечный адрес, с помощью регулирования местоположения упомянутого отрегулированного указателя таким образом, что оно является местоположением нового указателя; и (b) в случае, когда местоположение упомянутого нового указателя больше чем упомянутый конечный адрес, с помощью регулирования упомянутого отрегулированного указателя с помощью вычитания упомянутой длины из местоположения упомянутого нового указателя.
11. Система по п.9, в которой команды определения местоположения упомянутого отрегулированного указателя дополнительно содержат команды, предназначенные для установки местоположения упомянутого отрегулированного указателя в случае отрицательного шага по индексу: (а) в случае, когда местоположение упомянутого нового указателя больше чем упомянутый начальный адрес, с помощью регулирования местоположения упомянутого отрегулированного указателя таким образом, что оно является местоположением нового указателя; и (b) в случае, когда местоположение упомянутого нового указателя меньше чем упомянутый конечный адрес, с помощью регулирования упомянутого отрегулированного указателя с помощью прибавления упомянутой длины к местоположению упомянутого нового указателя.
12. Система по п.9, в которой команды определения упомянутого местоположения нового указателя дополнительно содержат команды, предназначенные для установки наименьших значащих бит упомянутого начального адреса в ноль до этапов, на которых определяют местоположение упомянутого нового указателя и определяют местоположение упомянутого отрегулированного указателя.
13. Система по п.9, в которой команды определения местоположения упомянутого отрегулированного указателя дополнительно содержат команды, предназначенные для получения местоположения упомянутого отрегулированного указателя в случае положительного шага по индексу с помощью прибавления замаскированного адреса в качестве упомянутого текущего указателя к упомянутому положительному шагу по индексу в устройстве генерирования адреса и вычитания упомянутой длины из суммы в сумматоре арифметического логического устройства.
14. Система по п.9, в которой команды определения местоположения упомянутого отрегулированного указателя дополнительно содержат команды, предназначенные для получения местоположения упомянутого отрегулированного указателя в случае отрицательного шага по индексу с помощью прибавления замаскированного адреса в качестве упомянутого текущего указателя к упомянутому отрицательному шагу по индексу в устройстве генерирования адреса, в случае отрицательной суммы получают местоположение упомянутого отрегулированного указателя непосредственно из упомянутого устройства генерирования адреса; иначе получают местоположение упомянутого отрегулированного указателя с помощью прибавления упомянутой длины к сумме в арифметическом логическом устройстве и получают местоположение упомянутого отрегулированного указателя из упомянутого арифметического логического устройства.
15. Система по п.9, дополнительно содержащая
арифметическое логическое устройство, предназначенное для взаимодействия с упомянутым устройством генерирования адреса при определении местоположения упомянутого текущего указателя, упомянутой величины шага по индексу и местоположения упомянутого отрегулированного указателя; и
в которой упомянутое устройство генерирования адреса содержит вентиль И и схему сумматора; и
дополнительно, в которой команды определения местоположения упомянутого отрегулированного указателя дополнительно содержат команды, предназначенные для использования вентиля И, чтобы выполнить маскировку входного сигнала текущего указателя для генерирования входного сигнала в сумматор устройства генерирования адреса при генерировании местоположения упомянутого нового указателя.
16. Система по п.9, дополнительно содержащая
арифметическое логическое устройство, предназначенное для взаимодействия с упомянутым устройством генерирования адреса при определении местоположения упомянутого текущего указателя, упомянутой величины шага по индексу и местоположения упомянутого отрегулированного указателя;
команды суммирования, связанные с командами определения местоположения упомянутого отрегулированного указателя, предназначенные для получения суммы местоположения упомянутого текущего указателя и упомянутого шага по индексу; и
команды маскировки, предназначенные для маскировки и предоставления упомянутой суммы в качестве первого входного сигнала в схему сумматора в арифметическом логическом устройстве и либо упомянутой длины, либо дополнения до двух упомянутой длины - в качестве второго входного сигнала в упомянутую схему сумматора.
17. Процессор цифровых сигналов, предназначенный для обработки цифровых сигналов и содержащий средство управления и адресации кольцевого буфера, содержащий
средство, предназначенное для установления длины упомянутого кольцевого буфера, причем упомянутая длина предназначена для ограничения адресуемого диапазона упомянутого кольцевого буфера;
средство, предназначенное для установления начального адреса для упомянутого кольцевого буфера, причем упомянутый начальный адрес выровнен в степень 2;
средство, предназначенное для установления конечного адреса для упомянутого кольцевого буфера, причем упомянутый конечный адрес расположен удаленно от упомянутого начального адреса на упомянутую длину, меньшую чем упомянутая степень 2, и большую чем упомянутая длина;
средство, предназначенное для определения местоположения текущего указателя для адреса в упомянутом кольцевом буфере, причем местоположение упомянутого текущего указателя находится между упомянутым начальным адресом и упомянутым конечным адресом;
средство, предназначенное для определения шага по индексу, связанное с упомянутым устройством генерирования адреса, предназначенное для определения величины шага по индексу бит между упомянутым начальным адресом и упомянутым конечным адресом;
средство, предназначенное для определения местоположения нового указателя, связанное с упомянутым устройством генерирования адреса, предназначенное для определения местоположения нового указателя в упомянутом кольцевом буфере с помощью сдвига от местоположения упомянутого текущего указателя на число бит упомянутой величины шага по индексу; и
средство, предназначенное для определения местоположения отрегулированного указателя, связанное с упомянутым устройством генерирования адреса, предназначенное для определения местоположения отрегулированного указателя, находящегося в упомянутом кольцевом буфере, с помощью арифметической операции местоположения упомянутого нового указателя с упомянутой длиной.
18. Процессор цифровых сигналов по п.17, дополнительно содержащий средство, предназначенное для установки местоположения упомянутого отрегулированного указателя в случае положительного шага по индексу: (а) в случае, когда местоположение упомянутого нового указателя меньше чем упомянутый конечный адрес, с помощью регулирования местоположения упомянутого отрегулированного указателя таким образом, что оно является местоположением нового указателя; и (b) в случае, когда местоположение упомянутого нового указателя больше чем упомянутый конечный адрес, с помощью регулирования упомянутого отрегулированного указателя с помощью вычитания упомянутой длины из местоположения упомянутого нового указателя.
19. Процессор цифровых сигналов по п.17, дополнительно содержащий средство, предназначенное для установки местоположения упомянутого отрегулированного указателя в случае отрицательного шага по индексу: (а) в случае, когда местоположение упомянутого нового указателя больше чем упомянутый начальный адрес, с помощью регулирования местоположения упомянутого отрегулированного указателя таким образом, что оно является местоположением нового указателя; и (b) в случае, когда местоположение упомянутого нового указателя меньше чем упомянутый конечный адрес, с помощью регулирования упомянутого отрегулированного указателя с помощью прибавления упомянутой длины к местоположению упомянутого нового указателя.
20. Процессор цифровых сигналов по п.17, дополнительно содержащий средство, предназначенное для установки наименьших значащих бит упомянутого начального адреса в ноль до этапов, на которых определяют местоположение упомянутого нового указателя и определяют местоположение упомянутого отрегулированного указателя.
21. Процессор цифровых сигналов по п.17, дополнительно содержащий средство, предназначенное для получения местоположения упомянутого отрегулированного указателя в случае положительного шага по индексу с помощью прибавления замаскированного адреса в качестве упомянутого текущего указателя к упомянутому положительному шагу по индексу в устройстве генерирования адреса и вычитания упомянутой длины из суммы в сумматоре арифметического логического устройства.
22. Процессор цифровых сигналов по п.17, дополнительно содержащий средство, предназначенное для получения местоположения упомянутого отрегулированного указателя в случае отрицательного шага по индексу с помощью прибавления замаскированного адреса в качестве упомянутого текущего указателя к упомянутому отрицательному шагу по индексу в устройстве генерирования адреса, в случае отрицательной суммы получают местоположение упомянутого отрегулированного указателя непосредственно из упомянутого устройства генерирования адреса; иначе получают местоположение упомянутого отрегулированного указателя с помощью прибавления упомянутой длины к сумме в арифметическом логическом устройстве и получают местоположение упомянутого отрегулированного указателя из упомянутого арифметического логического устройства.
23. Процессор цифровых сигналов по п.17, дополнительно содержащий
средство для использования вентиля И, чтобы выполнить маскировку входного сигнала текущего указателя для генерирования входного сигнала в сумматор устройства генерирования адреса при генерировании местоположения упомянутого нового указателя.
24. Процессор цифровых сигналов по п.17, дополнительно содержащий
средство, предназначенное для получения суммы местоположения упомянутого текущего указателя и упомянутого шага по индексу;
средство, предназначенное для маскировки и предоставления упомянутой суммы в качестве первого входного сигнала в схему сумматора в арифметическом логическом устройстве и либо упомянутой длины, либо дополнения до двух упомянутой длины - в качестве второго входного сигнала в упомянутую схему сумматора.
25. Машиночитаемый носитель, имеющий средство программного кода, выполненного с обеспечением возможности обработки команд в процессоре цифровых сигналов, причем машиночитаемый носитель содержит
средство программного кода, доступного для чтения с помощью компьютера, предназначенное для установления длины упомянутого кольцевого буфера, причем упомянутая длина предназначена для ограничения адресуемого диапазона упомянутого кольцевого буфера;
средство программного кода, доступного для чтения с помощью компьютера, предназначенное для установления начального адреса для упомянутого кольцевого буфера, причем упомянутый начальный адрес выровнен в степень 2;
средство программного кода, доступного для чтения с помощью компьютера, предназначенное для установления конечного адреса для упомянутого кольцевого буфера, причем упомянутый конечный адрес расположен удаленно от упомянутого начального адреса на упомянутую длину и меньше чем упомянутая степень 2, большая чем упомянутая длина;
средство программного кода, доступного для чтения с помощью компьютера, предназначенное для определения местоположения текущего указателя для адреса в упомянутом кольцевом буфере, причем местоположение упомянутого текущего указателя находится между упомянутым начальным адресом и упомянутым конечным адресом;
средство программного кода, доступного для чтения с помощью компьютера, предназначенное для определения шага по индексу, связанное с упомянутым устройством генерирования адреса, предназначенное для определения величины шага по индексу бит между упомянутым начальным адресом и упомянутым конечным адресом;
средство программного кода, доступного для чтения с помощью компьютера, предназначенное для определения местоположения нового указателя, связанное с упомянутым устройством генерирования адреса, предназначенное для определения местоположения нового указателя в упомянутом кольцевом буфере с помощью сдвига от местоположения упомянутого текущего указателя на число бит упомянутой величины шага по индексу; и
средство программного кода, доступного для чтения с помощью компьютера, предназначенное для определения местоположения отрегулированного указателя, связанное с упомянутым устройством генерирования адреса, предназначенное для определения местоположения отрегулированного указателя, находящегося в упомянутом кольцевом буфере, с помощью арифметической операции местоположения упомянутого нового указателя с упомянутой длиной.
26. Машиночитаемый носитель по п.25, дополнительно содержащий средство программного кода, доступного для чтения с помощью компьютера, предназначенное для установки местоположения упомянутого отрегулированного указателя в случае положительного шага по индексу: (а) в случае, когда местоположение упомянутого нового указателя меньше чем упомянутый конечный адрес, с помощью регулирования местоположения упомянутого отрегулированного указателя таким образом, что оно является местоположением нового указателя; и (b) в случае, когда местоположение упомянутого нового указателя больше чем упомянутый конечный адрес, с помощью регулирования упомянутого отрегулированного указателя с помощью вычитания упомянутой длины из местоположения упомянутого нового указателя.
27. Машиночитаемый носитель по п.25, дополнительно содержащий средство программного кода, доступного для чтения с помощью компьютера, предназначенное для установки местоположения упомянутого отрегулированного указателя в случае отрицательного шага по индексу: (а) в случае, когда местоположение упомянутого нового указателя больше чем упомянутый начальный адрес, с помощью регулирования местоположения упомянутого отрегулированного указателя таким образом, что оно является местоположением нового указателя; и (b) в случае, когда местоположение упомянутого нового указателя меньше чем упомянутый конечный адрес, с помощью регулирования упомянутого отрегулированного указателя с помощью прибавления упомянутой длины к местоположению упомянутого нового указателя.
RU2008119809/09A 2005-10-20 2006-10-20 Способ и система вычисления указателя для масштабируемого программируемого кольцевого буфера RU2395835C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/255,434 2005-10-20
US11/255,434 US20070094478A1 (en) 2005-10-20 2005-10-20 Pointer computation method and system for a scalable, programmable circular buffer

Publications (2)

Publication Number Publication Date
RU2008119809A true RU2008119809A (ru) 2009-11-27
RU2395835C2 RU2395835C2 (ru) 2010-07-27

Family

ID=37770978

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008119809/09A RU2395835C2 (ru) 2005-10-20 2006-10-20 Способ и система вычисления указателя для масштабируемого программируемого кольцевого буфера

Country Status (9)

Country Link
US (1) US20070094478A1 (ru)
EP (1) EP1941351A2 (ru)
JP (1) JP2009512942A (ru)
KR (1) KR20080072852A (ru)
CN (1) CN101331449A (ru)
CA (1) CA2626684A1 (ru)
RU (1) RU2395835C2 (ru)
TW (1) TW200732912A (ru)
WO (1) WO2007048133A2 (ru)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10354689B2 (en) 2008-04-06 2019-07-16 Taser International, Inc. Systems and methods for event recorder logging
US20130339677A1 (en) * 2011-02-28 2013-12-19 St. Jude Medical Ab Multiply-and-accumulate operation in an implantable microcontroller
TWI470575B (zh) * 2011-11-24 2015-01-21 Mediatek Inc 用於緩衝裝置之讀取指標暫存的方法、緩衝控制器以及緩衝裝置
FR2983622B1 (fr) * 2011-12-02 2014-01-24 Morpho Ecriture de donnees dans une memoire non volatile de carte a puce
SG10201505821WA (en) 2012-01-30 2015-08-28 Samsung Electronics Co Ltd Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area
RU2592465C2 (ru) * 2014-07-24 2016-07-20 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Способ заполнения кэш-памяти команд и выдачи команд на выполнение и устройство заполнения кэш-памяти команд и выдачи команд на выполнение
RU2598323C1 (ru) * 2015-03-26 2016-09-20 Общество с ограниченной ответственностью "Научно-производственное предприятие "Цифровые решения" Способ адресации кольцевого буфера в памяти микропроцессора
US9287893B1 (en) * 2015-05-01 2016-03-15 Google Inc. ASIC block for high bandwidth LZ77 decompression
TWI621944B (zh) * 2016-06-08 2018-04-21 旺宏電子股份有限公司 執行存取操作的方法及裝置
US20180054374A1 (en) * 2016-08-19 2018-02-22 Andes Technology Corporation Trace information encoding apparatus, encoding method thereof, and readable computer medium
US10649686B2 (en) * 2018-05-21 2020-05-12 Red Hat, Inc. Memory cache pressure reduction for pointer rings
CN115061799B (zh) * 2022-06-30 2024-06-28 天津津航计算技术研究所 一种无操作系统的任务调度方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623621A (en) * 1990-11-02 1997-04-22 Analog Devices, Inc. Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer
US5659700A (en) * 1995-02-14 1997-08-19 Winbond Electronis Corporation Apparatus and method for generating a modulo address
JP2001005721A (ja) * 1999-06-17 2001-01-12 Nec Ic Microcomput Syst Ltd Dspによるリング・バッファ用メモリ確保によるフィルタ処理方法及びそのフィルタ処理システム
TW513859B (en) * 2001-04-19 2002-12-11 Faraday Tech Corp Modulo address generator circuit

Also Published As

Publication number Publication date
TW200732912A (en) 2007-09-01
WO2007048133A3 (en) 2007-08-02
US20070094478A1 (en) 2007-04-26
EP1941351A2 (en) 2008-07-09
KR20080072852A (ko) 2008-08-07
RU2395835C2 (ru) 2010-07-27
CN101331449A (zh) 2008-12-24
WO2007048133A2 (en) 2007-04-26
CA2626684A1 (en) 2007-04-26
JP2009512942A (ja) 2009-03-26

Similar Documents

Publication Publication Date Title
RU2008119809A (ru) Способ и система вычисления указателя для масштабируемого программируемого кольцевого буфера
CN107451658B (zh) 浮点运算定点化方法及系统
KR20190090817A (ko) 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법
CN109947431B (zh) 一种代码生成方法、装置、设备及存储介质
US9524143B2 (en) Apparatus and method for efficient division performance
US8281111B2 (en) System and method to execute a linear feedback-shift instruction
CN115051798A (zh) 一种随机数生成方法、装置、电子设备及存储介质
TW201516710A (zh) 一種決定對數函數單元的硬體實現方法以及執行該方法的電腦程式產品
JP2021517301A (ja) 確率的丸めロジック
CN109976705B (zh) 浮点格式数据处理装置、数据处理设备及数据处理方法
US20130304785A1 (en) Apparatus and method for performing a convert-to-integer operation
KR102228995B1 (ko) 여러 가지 수치 포맷의 데이터를 갖는, 데이터 베이스화된 함수 모델의 연산을 위한 모델 연산 유닛 및 제어 장치
FR3101982B1 (fr) Détermination d'un bit indicateur
JP2019526872A (ja) 分岐予測のために分岐履歴を判別する方法及びデバイス
CN112181355B (zh) 一种移位饱和处理方法及其应用
CN112181354B (zh) 一种移位饱和同步处理的方法及其应用
RU2015134093A (ru) Многоканальный кодер и декодер с эффективной передачей информации о положении
JP2018097864A (ja) リーディングゼロ予想
Kant et al. Implementation and performance improvement of POSIT multiplier for advance DSP applications
KR101922462B1 (ko) 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법
CN108052307B (zh) 处理器浮点单元前导零数量的超前运算方法及系统
CN1489038A (zh) 数据处理装置
CN112487032A (zh) 数据查询的方法、装置、存储介质及电子设备
US20140136582A1 (en) Method and apparatus for digital automatic gain control
ATE429783T1 (de) Verfahren zur reduktion von quantisierungsrauschen

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20101021