GB2596056B - Exception register delay - Google Patents

Exception register delay Download PDF

Info

Publication number
GB2596056B
GB2596056B GB2007910.9A GB202007910A GB2596056B GB 2596056 B GB2596056 B GB 2596056B GB 202007910 A GB202007910 A GB 202007910A GB 2596056 B GB2596056 B GB 2596056B
Authority
GB
United Kingdom
Prior art keywords
register delay
exception register
exception
delay
register
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
GB2007910.9A
Other versions
GB2596056A (en
GB202007910D0 (en
Inventor
Hanlon James
Pallister James
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Graphcore Ltd
Original Assignee
Graphcore Ltd
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 Graphcore Ltd filed Critical Graphcore Ltd
Priority to GB2007910.9A priority Critical patent/GB2596056B/en
Publication of GB202007910D0 publication Critical patent/GB202007910D0/en
Priority to US17/323,539 priority patent/US11263017B2/en
Publication of GB2596056A publication Critical patent/GB2596056A/en
Application granted granted Critical
Publication of GB2596056B publication Critical patent/GB2596056B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • 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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • 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, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining
GB2007910.9A 2020-05-27 2020-05-27 Exception register delay Active GB2596056B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB2007910.9A GB2596056B (en) 2020-05-27 2020-05-27 Exception register delay
US17/323,539 US11263017B2 (en) 2020-05-27 2021-05-18 Exception register delay

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB2007910.9A GB2596056B (en) 2020-05-27 2020-05-27 Exception register delay

Publications (3)

Publication Number Publication Date
GB202007910D0 GB202007910D0 (en) 2020-07-08
GB2596056A GB2596056A (en) 2021-12-22
GB2596056B true GB2596056B (en) 2022-06-08

Family

ID=71406214

Family Applications (1)

Application Number Title Priority Date Filing Date
GB2007910.9A Active GB2596056B (en) 2020-05-27 2020-05-27 Exception register delay

Country Status (2)

Country Link
US (1) US11263017B2 (en)
GB (1) GB2596056B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006905A1 (en) * 2007-06-27 2009-01-01 David Arnold Luick In Situ Register State Error Recovery and Restart Mechanism
US20190155328A1 (en) * 2017-10-20 2019-05-23 Graphcore Limited Synchronization in a multi-tile processing array

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10255074B2 (en) * 2015-09-11 2019-04-09 Qualcomm Incorporated Selective flushing of instructions in an instruction pipeline in a processor back to an execution-resolved target address, in response to a precise interrupt
US11086623B2 (en) * 2017-03-20 2021-08-10 Intel Corporation Systems, methods, and apparatuses for tile matrix multiplication and accumulation
US10824429B2 (en) * 2018-09-19 2020-11-03 Microsoft Technology Licensing, Llc Commit logic and precise exceptions in explicit dataflow graph execution architectures
US11086631B2 (en) * 2018-11-30 2021-08-10 Western Digital Technologies, Inc. Illegal instruction exception handling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006905A1 (en) * 2007-06-27 2009-01-01 David Arnold Luick In Situ Register State Error Recovery and Restart Mechanism
US20190155328A1 (en) * 2017-10-20 2019-05-23 Graphcore Limited Synchronization in a multi-tile processing array

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON COMPUTERS, vol 37, 1988, SMITH J E ET AL, "Implementing precise interrupts in pipelined processors", pages 562-573 *

Also Published As

Publication number Publication date
US20210373901A1 (en) 2021-12-02
GB2596056A (en) 2021-12-22
US11263017B2 (en) 2022-03-01
GB202007910D0 (en) 2020-07-08

Similar Documents

Publication Publication Date Title
GB2596056B (en) Exception register delay
GB202209621D0 (en) Registers
CA211276S (en) Arrow
CA217438S (en) Footwarmer
CA215434S (en) Thermo-hygrometer
CA215433S (en) Thermo-hygrometer
CA210085S (en) Muddler
GB202209846D0 (en) One
GB202202357D0 (en) Fature C
GB202211166D0 (en) Opia application
GB202213465D0 (en) Nosohryak-uteivai133millioncirclexdotvaigaligaligaligaligmkgachachatchaman-aidohn15circlexdotgachachatchamanaidohn15circlexdot!ktkanjitsusohlinkyakuvaikanjits
GB202213466D0 (en) Nosohryak-uteivai133millioncirclexdotvaigaligaligaligaligmkgachachatchaman-aidohn15circlexdotgachachatchamanaidohn15circlexdot!ktkanjitsusohlinkyakuvaikanjits
GB202213464D0 (en) Nosohryak-uteivai133millioncirclexdotvaigaligaligaligaligmkgachachatchaman-aidohn15circlexdotgachachatchamanaidohn15circlexdot!ktkanjitsusohlinkyakuvaikanjits
GB202211762D0 (en) Kaijitsudonmaigozakacchongozaso-hteiquezonematamatamatajuhjikivaizonegosha-goshagoshakankanjitsunozonezai
GB202211747D0 (en) Gozakacchongozaso-hteiquezonematamatamatajuhjikivaizone
GB202211746D0 (en) Gozakacchongozaso-hteiquezonematamatamatajuhjikivaizone
GB202211719D0 (en) Kaijitsudonmai
GB202211668D0 (en) Exwg-olayemi-c2022jul1-f2022jul27-tbs
GB202211340D0 (en) Kanjitsuhajuhjikivai
GB202211339D0 (en) Kanjitsuhajuhjikivai
GB202211182D0 (en) Bead-hashing
GB202210960D0 (en) Tees-Lashin
GB202211010D0 (en) Akorker
GB202210274D0 (en) Withim
GB202209344D0 (en) Hdroponics