Patents by Inventor Heonchul Park

Heonchul Park has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11940945
    Abstract: An exemplary SIMD computing system comprises a SIMD processing element (SPE) configured to perform a selected operation on a portion of a processor input data word, with the operation selected by control signals read from a control memory location addressed by a decoded instruction. The SPE may comprise one or more adder, multiplier, or multiplexer coupled to the control signals. The control signals may comprise one or more bit read from the control memory. The control memory may be an M×N (M rows by N columns) memory having M possible SIMD operations and N control signals. Each instruction decoded may select an SPE operation from among N rows. A plurality of SPEs may receive the same control signals. The control memory may be rewritable, advantageously permitting customizable SIMD operations that are reconfigurable by storing in the control memory locations control signals designed to cause the SPE to perform selected operations.
    Type: Grant
    Filed: December 31, 2021
    Date of Patent: March 26, 2024
    Inventor: Heonchul Park
  • Patent number: 11928475
    Abstract: An exemplary fault-tolerant computing system comprises a secondary processor configured to execute in delayed lock step with a primary processor from a common program store, comparators in the store data and writeback paths to detect a fault based on comparing primary and secondary processor states, and a writeback path delay permitting aborting execution when a fault is detected, before writeback of invalid data. The secondary processor execution and the primary processor store data and writeback may be delayed a predetermined number of cycles, permitting fault detection before writing invalid data. Store data and writeback paths may include triple module redundancy configured to pass only majority data through the store data and writeback path delay stages. Some implementations may forward data from the store data path delay stages to the writeback stage or memory if the load data address matches the address of data in a store data path delay stage.
    Type: Grant
    Filed: November 5, 2021
    Date of Patent: March 12, 2024
    Assignee: Ceremorphic, Inc.
    Inventor: Heonchul Park
  • Patent number: 11921843
    Abstract: A fault detecting multi-thread pipeline processor with fault detection is operative with a single pipeline stage which generates branch status comprising at least one of branch taken/not_taken, branch direction, and branch target. A first thread has control and data instructions, the control instructions comprising loop instructions including unconditional and conditional branch instructions, loop initialization instructions, loop arithmetic instructions, and no operation (NOP) instructions. A second thread has only control instructions and either has the non-control instructions replaced with NOP instructions, or removed entirely. A fault detector compares the branch status of the first thread and second thread and asserts a fault output when they do not match.
    Type: Grant
    Filed: September 26, 2021
    Date of Patent: March 5, 2024
    Assignee: Ceremorphic, Inc.
    Inventors: Lizy Kurian John, Heonchul Park, Venkat Mattela
  • Publication number: 20230409329
    Abstract: A master processor is configured to execute a first thread and a second thread designated to run a program in sequence. A slave processor is configured to execute a third thread to run the program in sequence. An instruction fetch compare engine is provided. The first thread initiates a first thread instruction fetch for the program and stored in an instruction fetch storage. Retrieved data associated with the fetched first thread instruction is stored in a retrieved data storage. The second thread initiates a second thread instruction fetch for the program. The instruction fetch compare logic compares the second thread instruction fetch for the program with the first thread instruction fetch stored in the instruction fetch storage for a match. When there is a match, the retrieved data associated with the fetched first thread instruction is presented from the retrieved data storage, in response to the second thread instruction fetch.
    Type: Application
    Filed: May 31, 2022
    Publication date: December 21, 2023
    Inventors: Heonchul Park, Sri Hari Nemani, Patel Urvishkumar Jayrambhai, Dhruv Maheshkumar Patel
  • Patent number: 11847457
    Abstract: A master processor is configured to execute a first thread and a second thread designated to run a program in sequence. A slave processor is configured to execute a third thread to run the program in sequence. An instruction fetch compare engine is provided. The first thread initiates a first thread instruction fetch for the program and stored in an instruction fetch storage. Retrieved data associated with the fetched first thread instruction is stored in a retrieved data storage. The second thread initiates a second thread instruction fetch for the program. The instruction fetch compare logic compares the second thread instruction fetch for the program with the first thread instruction fetch stored in the instruction fetch storage for a match. When there is a match, the retrieved data associated with the fetched first thread instruction is presented from the retrieved data storage, in response to the second thread instruction fetch.
    Type: Grant
    Filed: May 31, 2022
    Date of Patent: December 19, 2023
    Assignee: Ceremorphic, Inc.
    Inventors: Heonchul Park, Sri Hari Nemani, Patel Urvishkumar Jayrambhai, Dhruv Maheshkumar Patel
  • Patent number: 11782719
    Abstract: A superscalar processor has a thread mode of operation for supporting multiple instruction execution threads which are full data path wide instructions, and a micro-thread mode of operation where each thread supports two micro-threads which independently execute instructions. An executed instruction sets a micro-thread mode and an executed instruction sets the thread mode.
    Type: Grant
    Filed: March 27, 2021
    Date of Patent: October 10, 2023
    Assignee: Ceremorphic, Inc.
    Inventor: Heonchul Park
  • Publication number: 20230289287
    Abstract: A programmable address generator has an iteration variable generator for generation of an ordered set of iteration variables, which are re-ordered by an iteration variable selection fabric, which delivers the re-ordered iteration variables to one or more address generators. A configurator receives an instruction containing fields which provide configuration constants to the address generator, iteration variable selection fabric, and address generators. After configuration, the address generators provide addresses coupled to a memory. In one example of the invention, the address generators generate an input address, a coefficient address, and an output address for performing convolutional neural network inferences.
    Type: Application
    Filed: March 14, 2023
    Publication date: September 14, 2023
    Applicant: CEREMORPHIC, INC.
    Inventors: Lizy Kurian JOHN, Venkat MATTELA, Heonchul PARK
  • Patent number: 11720436
    Abstract: A system for detecting errors and correcting errors in a multi-thread processor is disclosed. The multi-thread processor includes a first processor and a second processor. First processor executes a first thread and a second thread. Second processor executes a third thread and fourth thread. An instruction execution is initiated in all four threads. Output of the instruction execution from all four threads are compared for a match by a data compare engine to detect an error in execution of the instruction. When output of the instruction execution from one of the four threads does not match, an error in execution is detected and the output is replaced by one of the other three threads whose output does match. When output of the instruction execution by two or more threads does not match, error is detected, but not corrected.
    Type: Grant
    Filed: November 29, 2021
    Date of Patent: August 8, 2023
    Assignee: CEREMORPHIC, INC.
    Inventor: Heonchul Park
  • Publication number: 20230244600
    Abstract: A process for iterating through a multi-dimensional array has an iteration process and an address generation process. In one example of the invention an input address process, a coefficient address process, and an output address process generate addresses for a convolutional neural network (CNN. Each of the input address process, coefficient address process, and output address process is coupled to a plurality of iteration variables generated by an iteration variable process, each iteration variable process having an associated with a bound and stride for each iteration variable, thereby generating an input address, a coefficient address, and an output address.
    Type: Application
    Filed: January 29, 2022
    Publication date: August 3, 2023
    Applicant: Ceremorphic, Inc.
    Inventors: Lizy Kurian JOHN, Venkat MATTELA, Heonchul PARK
  • Publication number: 20230244599
    Abstract: A programmable address generator has an iteration variable generator for generation of an ordered set of iteration variables, which are re-ordered by an iteration variable selection fabric, which delivers the re-ordered iteration variables to one or more address generators. A configurator receives an instruction containing fields which provide configuration constants to the address generator, iteration variable selection fabric, and address generators. After configuration, the address generators provide addresses coupled to a memory. In one example of the invention, the address generators generate an input address, a coefficient address, and an output address for performing convolutional neural network inferences.
    Type: Application
    Filed: January 29, 2022
    Publication date: August 3, 2023
    Applicant: Ceremorphic, Inc.
    Inventors: Lizy Kurian JOHN, Venkat MATTELA, Heonchul PARK
  • Publication number: 20230214351
    Abstract: An exemplary SIMD computing system comprises a SIMD processing element (SPE) configured to perform a selected operation on a portion of a processor input data word, with the operation selected by control signals read from a control memory location addressed by a decoded instruction. The SPE may comprise one or more adder, multiplier, or multiplexer coupled to the control signals. The control signals may comprise one or more bit read from the control memory. The control memory may be an MxN (M rows by N columns) memory having M possible SIMD operations and N control signals. Each instruction decoded may select an SPE operation from among N rows. A plurality of SPEs may receive the same control signals. The control memory may be rewritable, advantageously permitting customizable SIMD operations that are reconfigurable by storing in the control memory locations control signals designed to cause the SPE to perform selected operations.
    Type: Application
    Filed: December 31, 2021
    Publication date: July 6, 2023
    Applicant: Ceremorphic, Inc.
    Inventor: Heonchul PARK
  • Publication number: 20230143422
    Abstract: An exemplary fault-tolerant computing system comprises a secondary processor configured to execute in delayed lock step with a primary processor from a common program store, comparators in the store data and writeback paths to detect a fault based on comparing primary and secondary processor states, and a writeback path delay permitting aborting execution when a fault is detected, before writeback of invalid data. The secondary processor execution and the primary processor store data and writeback may be delayed a predetermined number of cycles, permitting fault detection before writing invalid data. Store data and writeback paths may include triple module redundancy configured to pass only majority data through the store data and writeback path delay stages. Some implementations may forward data from the store data path delay stages to the writeback stage or memory if the load data address matches the address of data in a store data path delay stage.
    Type: Application
    Filed: November 5, 2021
    Publication date: May 11, 2023
    Applicant: Ceremorphic, Inc.
    Inventor: Heonchul PARK
  • Publication number: 20230097983
    Abstract: A fault detecting multi-thread pipeline processor with fault detection is operative with a single pipeline stage which generates branch status comprising at least one of branch taken/not_taken, branch direction, and branch target. A first thread has control and data instructions, the control instructions comprising loop instructions including unconditional and conditional branch instructions, loop initialization instructions, loop arithmetic instructions, and no operation (NOP) instructions. A second thread has only control instructions and either has the non-control instructions replaced with NOP instructions, or removed entirely. A fault detector compares the branch status of the first thread and second thread and asserts a fault output when they do not match.
    Type: Application
    Filed: September 26, 2021
    Publication date: March 30, 2023
    Applicant: Ceremorphic, Inc.
    Inventors: Lizy Kurian JOHN, Heonchul PARK, Venkat MATTELA
  • Publication number: 20230098640
    Abstract: A secure processor with fault detection has a core thread which executes with a redundant branch processor thread. In one configuration, the core thread is operative on a fully functional core processor configured to execute a complete instruction set, and the redundant branch processor thread contains only initialization instructions and flow control instructions such as branch instructions and is operative on a redundant branch processor which is configured to execute a subset of the complete instruction set, specifically a branch control variable initialization and a branch instruction, thereby greatly simplifying the redundant branch processor architecture. Fault conditions are detected by comparing either a history of branch taken/not taken and branch targets, or a comparison of program counter activity for the core thread and redundant branch processor thread.
    Type: Application
    Filed: September 26, 2021
    Publication date: March 30, 2023
    Applicant: Ceremorphic, Inc.
    Inventors: Lizy Kurian JOHN, Heonchul Park, Venkat MATTELA
  • Publication number: 20230066662
    Abstract: Embodiments are provided for instructions cache system for a hardware multi-thread microprocessor. In some embodiments, a cache controller device includes multiple interfaces connected to a hardware multi-thread microprocessor. A first interface of the multiple interfaces can receive a fetch request from a first execution thread during a first clock cycle. A second interface of the multiple interfaces can receive a fetch request from a second execution thread during a second clock cycle after the first clock cycle. The cache controller device also includes a multiplexer to send first response signals in response to the fetch request from the first execution thread, and also to send second response signals in response to the fetch request from the second execution thread.
    Type: Application
    Filed: August 31, 2021
    Publication date: March 2, 2023
    Applicant: Ceremorphic, Inc.
    Inventor: Heonchul PARK
  • Publication number: 20220308888
    Abstract: Embodiments are provided for reduction of lost cycles after branch misprediction in multi-thread microprocessors. In some embodiments, a method includes fetching, by first stage circuitry of a multi-thread microprocessor, a pair of consecutive instructions of a program executed in a thread. The method also includes determining, by second stage circuitry of said microprocessor, during a clock cycle, that a first instruction in the pair is a branch instruction. The method further includes fetching, by the first stage circuitry, during a second clock cycle, a pair of branch target instructions of the program using a branch prediction, and determining, by third stage circuitry of said microprocessor, during the second clock cycle, that the branch prediction is a misprediction. The method still includes sending the second instruction to the second stage circuitry during a third clock cycle, and decoding the second instruction by the second stage circuitry during the third clock cycle.
    Type: Application
    Filed: March 27, 2021
    Publication date: September 29, 2022
    Applicant: Redpine Signals, Inc.
    Inventor: Heonchul PARK
  • Publication number: 20220308889
    Abstract: A superscalar processor has a thread mode of operation for supporting multiple instruction execution threads which are full data path wide instructions, and a micro-thread mode of operation where each thread supports two micro-threads which independently execute instructions. An executed instruction sets a micro-thread mode and an executed instruction sets the thread mode.
    Type: Application
    Filed: March 27, 2021
    Publication date: September 29, 2022
    Applicant: Redpine Signals, Inc.
    Inventor: Heonchul PARK
  • Publication number: 20220308887
    Abstract: Embodiments are provided for mitigation of branch misprediction penalty in hardware multi-thread microprocessors. In some embodiments, a hardware multi-thread microprocessor includes first stage circuitry that fetches a pair of consecutive instructions of a program executed in a thread. Such microprocessor also includes second stage circuitry that determines, during a clock cycle, that a first instruction in that pair is a branch instruction. The first stage circuitry fetches, during a second clock cycle after the clock cycle, a pair of branch target instructions of the program using a branch prediction. Such microprocessor further includes third stage circuitry that determines that the branch prediction is a misprediction during the second clock cycle. The first stage circuitry sends the second instruction to the second stage circuitry during a third clock cycle after the second clock cycle. The second stage circuitry decodes the second instruction during the third clock cycle.
    Type: Application
    Filed: March 27, 2021
    Publication date: September 29, 2022
    Applicant: Redpine Signals, Inc.
    Inventor: Heonchul PARK
  • Patent number: 8396063
    Abstract: A wireless signal processor for handling a plurality of wireless sessions comprises a plurality of baseband receivers, one for each session, each receiver producing a digital output, a multiplexer for multiplexing the plurality of digital outputs into a single data stream, a digital signal processor for converting the stream of multiplexed data into a media access controller format, and a media access controller for demultiplexing and framing the stream of data into a plurality of data buffers, one data buffer for each wireless session.
    Type: Grant
    Filed: November 5, 2007
    Date of Patent: March 12, 2013
    Assignee: Redpine Signals, Inc.
    Inventors: Narasimhan Venkatesh, Satya Rao, Heonchul Park
  • Patent number: 7761688
    Abstract: An in-order issue in-order completion micro-controller comprises a pipeline core comprising in succession a fetch address stage, a program access stage, a decode stage, a first execution stage, a second execution stage, a memory access stage, and a write back stage. The various stages are provided a thread ID such that alternating stages use a first thread ID, and the other stages use a second thread ID. Each stage which requires access to thread ID specific context information uses the thread ID to specify this context information.
    Type: Grant
    Filed: September 6, 2007
    Date of Patent: July 20, 2010
    Assignee: Redpine Signals, Inc.
    Inventor: Heonchul Park