Programmable instruction buffering

US2018357065A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018357065-A1
Application numberUS-201815974769-A
CountryUS
Kind codeA1
Filing dateMay 9, 2018
Priority dateJun 7, 2017
Publication dateDec 13, 2018
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A processing system 2 includes a processing pipeline 12, 14, 16, 18, 28 which includes fetch circuitry 12 for fetching instructions to be executed from a memory 6, 8. Buffer control circuitry 34 is responsive to a programmable trigger, such as explicit hint instructions delimiting an instruction burst, or predetermined configuration data specifying parameters of a burst together with a synchronising instruction, to trigger the buffer control circuitry to stall a stallable portion of the processing pipeline (e.g. issue circuitry 16), to accumulate within one or more buffers 30, 32 fetched instructions starting from a predetermined starting instruction, and, when those instructions have been accumulated, to restart the stallable portion of the pipeline.

First claim

Opening claim text (preview).

We claim: 1 . Apparatus for processing data comprising: a processing pipeline having fetch circuitry to fetch instructions to be executed from a memory; one or more buffers to store instructions fetched from said memory by said fetch circuitry; buffer control circuitry responsive to a programmable trigger: to stall a stallable portion of said processing pipeline downstream of said one or more buffers; to accumulate within said one or more buffers a burst of instructions comprising a number of instructions starting from a predetermined starting instruction; and when said number of instruction have been accumulated within said one or more buffers, to restart said stallable portion of said processing pipeline. 2 . Apparatus as claimed in claim 1 , wherein said processing pipeline comprises execute circuitry to execute said instructions; issue circuitry to issue instructions fetched from said memory by said fetch circuitry to said execute circuitry for execution. 3 . Apparatus as claimed in claim 2 , wherein said stallable portion comprises said issue circuitry. 4 . Apparatus as claimed in claim 1 , wherein said programmable trigger comprises at least one of: a start point parameter programmably specifying said predetermined starting instruction; and a burst length parameter programmably specifying said number of instructions. 5 . Apparatus as claimed in claim 1 , wherein said number comprises a fixed burst length. 6 . Apparatus as claimed in claim 1 , wherein said programmable trigger comprises execution of at least one of a hint instruction marking a start of said burst of instructions and a hint instruction marking an end of said burst of instructions. 7 . Apparatus as claimed in claim 1 , wherein said programmable trigger comprises setting a programmable flag within a configuration register to prime said buffer control circuitry to perform said actions of stalling, accumulating and restarting in synchronism with a synchronising instruction within a stream of instruction to be executed. 8 . Apparatus as claimed in claim 1 , wherein said processing pipeline comprises decoder circuitry to decode instructions fetched by said fetch circuitry. 9 . Apparatus as claimed in claim 1 , wherein said one or more buffers stores said instructions fetched by said fetch circuitry before said instructions are supplied to said processing pipeline downstream of said fetch circuitry. 10 . Apparatus as claimed in claim 8 , wherein said one or more buffers stores said instructions decoded by said decoder circuitry before said instructions are supplied to said processing pipeline downstream of said decoder circuitry. 11 . Apparatus as claimed in claim 1 , wherein said one or more buffers also temporarily stores instructions during operation of said processing pipeline independent of said programmable trigger. 12 . Apparatus as claimed in claim 1 , wherein said one or more buffers supplies instructions within said burst of instructions to said processing pipeline with deterministic timings independent of latencies of fetching of said instructions within said burst of instructions from said memory to said one or more buffers by said fetch circuitry. 13 . Apparatus as claimed in claim 1 , wherein said burst of instructions comprising built-in-self-test instructions for testing for faults within said apparatus. 14 . Apparatus as claimed in claim 1 , wherein said execute circuitry atomically executes said burst of instructions. 15 . Apparatus as claimed in claim 1 , comprising store forwarding circuitry to buffer given write data of a pending data write to a given memory address before said given write data is written to said memory, and to service with said given write data stored within said store forwarding circuitry a subsequent data read of said given address while said data write is still pending. 16 . Apparatus as claimed in claim 1 , wherein said buffer control circuitry comprises escape circuitry to detect an escape event, and, when said escape event is detected, to stop said accumulating to said one or more buffers and to restart said stallable portion. 17 . Apparatus as claimed in claim 16 , wherein said escape event comprises at least one of: a time taken for said number of instructions to be fetched from said memory exceeds a threshold time; and one or more monitored events have occurred. 18 . Apparatus for processing data comprising: a processing pipeline having fetch means for fetching instructions to be executed from a memory; a one or more buffer means for storing instructions fetched from said memory by said fetch means; buffer control means responsive to a programmable trigger: for stalling a stallable portion of said processing pipeline downstream of said one or more buffer means; accumulating within said one or more buffer means a burst of instructions comprising a number of instructions starting from a predetermined starting instruction; and when said number of instruction have been accumulated within said one or more buffer means, for restarting said stallable portion of said processing pipeline. 19 . A method of processing data comprising: fetching instructions to be executed from a memory; and in response to a programmable trigger: stalling a stallable portion of a processing pipeline downstream of one or more buffers; accumulating within said one or more buffers a burst of instructions comprising a number of instructions starting from a predetermined starting instruction; and when said number of instruction have been accumulated within said one or more buffers, for restarting said stallable portion of said processing pipeline.

Assignees

Inventors

Classifications

  • Pipeline control instructions, e.g. multicycle NOP · CPC title

  • G06F9/3814Primary

    Implementation provisions of instruction buffers, e.g. prefetch buffer; banks · CPC title

  • G06F9/3867Primary

    using instruction pipelines · CPC title

  • Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking · CPC title

  • Synchronisation or serialisation instructions · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2018357065A1 cover?
A processing system 2 includes a processing pipeline 12, 14, 16, 18, 28 which includes fetch circuitry 12 for fetching instructions to be executed from a memory 6, 8. Buffer control circuitry 34 is responsive to a programmable trigger, such as explicit hint instructions delimiting an instruction burst, or predetermined configuration data specifying parameters of a burst together with a synchron…
Who is the assignee on this patent?
Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/3814. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 13 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).