Patents by Inventor Jonathan Friedmann

Jonathan Friedmann 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: 11175922
    Abstract: A processor includes a compute fabric and a controller. The compute fabric includes an array of compute nodes and interconnects that configurably connect the compute nodes. The controller is configured to receive at least first and second different Data-Flow Graphs (DFGs), each specifying code instructions, and to configure at least some of the compute nodes and interconnects in the compute fabric to concurrently execute the code instructions specified in the first and second DFGs, and send to the compute fabric multiple first threads that execute the code instructions specified in the first DFG and multiple second threads that execute the code instructions specified in the second DFG, thereby causing the compute fabric to execute, at least during a given time interval, both code instructions specified in the first DFG and code instructions specified in the second DFG.
    Type: Grant
    Filed: June 1, 2020
    Date of Patent: November 16, 2021
    Assignee: SPEEDATA LTD.
    Inventors: Yoav Etsion, Dani Voitsechov, Evgeni Krimer, Jonathan Friedmann
  • Publication number: 20210334106
    Abstract: A processor includes a compute fabric and a controller. The compute fabric includes an array of compute nodes and interconnects that configurably connect the compute nodes. The controller is configured to receive at least first and second different Data-Flow Graphs (DFGs), each specifying code instructions, and to configure at least some of the compute nodes and interconnects in the compute fabric to concurrently execute the code instructions specified in the first and second DFGs, and send to the compute fabric multiple first threads that execute the code instructions specified in the first DFG and multiple second threads that execute the code instructions specified in the second DFG, thereby causing the compute fabric to execute, at least during a given time interval, both code instructions specified in the first DFG and code instructions specified in the second DFG.
    Type: Application
    Filed: June 1, 2020
    Publication date: October 28, 2021
    Inventors: Yoav Etsion, Dani Voitsechov, Evgeni Krimer, Jonathan Friedmann
  • Patent number: 10425117
    Abstract: An advanced split microwave architecture is provided. The advanced split microwave architecture includes a smart outdoor communication unit including a digital N-Plexer configured to multiplex and/or demultiplex a received data signal in the digital domain, a processor unit configured to carry out instructions to control operation of the digital N-Plexer, and a converter module configured to convert the received data signal between the digital domain and the analog domain. The smart outdoor communication unit further includes an RF module, having digital capabilities, configured to correct errors within the received data signal in the digital domain, perform a conversion of the received data signal, to amplify a power of the received data signal, and to perform automatic gain control in the digital domain.
    Type: Grant
    Filed: June 27, 2012
    Date of Patent: September 24, 2019
    Assignee: Maxlinear Asia Singapore PTE LTD
    Inventors: Jonathan Friedmann, Moshe Penso, Igal Kushnir, Eran Ridel, Kobi Sturkovich
  • Patent number: 10296346
    Abstract: A method which includes, in a processor that processes instructions of program code, processing one or more of the instructions in a first segment of the instructions by a first hardware thread. Upon detecting that an instruction defined as a parallelization point has been fetched for the first thread, a second hardware thread is invoked to process at least one of the instructions in a second segment of the instructions, at least partially in parallel with processing of the instructions of the first segment by the first hardware thread, in accordance with a specification of register access that is indicative of data dependencies between the first and second segments.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: May 21, 2019
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Noam Mizrahi, Alberto Mandler, Shay Koren, Jonathan Friedmann
  • Patent number: 10296350
    Abstract: A method which includes, in a processor that processes instructions of program code, processing one or more of the instructions by a first hardware thread. Upon detecting that an instruction defined as a parallelization point has been fetched for the first thread, a second hardware thread is invoked to process at least one of the instructions at least partially in parallel with processing of the instructions by the first hardware thread.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: May 21, 2019
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Noam Mizrahi, Alberto Mandler, Shay Koren, Jonathan Friedmann
  • Patent number: 10185561
    Abstract: A method includes, in a processor, processing program code that includes memory-access instructions, wherein at least some of the memory-access instructions include symbolic expressions that specify memory addresses in an external memory in terms of one or more register names. A relationship between the memory addresses accessed by two or more of the memory-access instructions is identified, based on respective formats of the memory addresses specified in the symbolic expressions. An outcome of at least one of the memory-access instructions is assigned to be served from an internal memory in the processor, based on the identified relationship.
    Type: Grant
    Filed: July 9, 2015
    Date of Patent: January 22, 2019
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Noam Mizrahi, Jonathan Friedmann
  • Patent number: 10180841
    Abstract: A processor includes a processing pipeline including multiple hardware threads and configured to execute software code instructions that are stored in a memory, along with multiple registers, configured to be read and written to by the processing pipeline during execution of the instructions. A monitoring unit monitors the instructions in the processing pipeline and records respective monitoring tables indicating the registers accessed in processing the instructions in different sequences of the instructions, and parallelizes among the hardware threads of the processor, using the respective monitoring tables, execution of repetitions of at least first sequences of the instructions.
    Type: Grant
    Filed: January 27, 2016
    Date of Patent: January 15, 2019
    Assignee: Centipede Semi Ltd.
    Inventors: Noam Mizrahi, Alberto Mandler, Shay Koren, Jonathan Friedmann
  • Publication number: 20190007848
    Abstract: A communications network is disclosed that includes one or more microwave backhaul nodes for routing communications between one or more near end mobile communications devices and one or more far end mobile communications devices. The communications network includes a central monitoring and control infrastructure, a remote monitoring and control infrastructure and/or a local monitoring and control infrastructure. The central monitoring and control infrastructure, the remote monitoring and control infrastructure and/or the local monitoring and control infrastructure can directly manage the one or more microwave backhaul nodes. Alternatively, the remote monitoring and control infrastructure and/or the local monitoring and control infrastructure can indirectly manage the one or more microwave backhaul nodes through the central monitoring and control infrastructure.
    Type: Application
    Filed: September 5, 2018
    Publication date: January 3, 2019
    Inventors: James Bennett, Jonathan Friedmann
  • Patent number: 10091673
    Abstract: A communications network is disclosed that includes one or more microwave backhaul nodes for routing communications between one or more near end mobile communications devices and one or more far end mobile communications devices. The communications network includes a central monitoring and control infrastructure, a remote monitoring and control infrastructure and/or a local monitoring and control infrastructure. The central monitoring and control infrastructure, the remote monitoring and control infrastructure and/or the local monitoring and control infrastructure can directly manage the one or more microwave backhaul nodes. Alternatively, the remote monitoring and control infrastructure and/or the local monitoring and control infrastructure can indirectly manage the one or more microwave backhaul nodes through the central monitoring and control infrastructure.
    Type: Grant
    Filed: September 20, 2017
    Date of Patent: October 2, 2018
    Assignee: MAXLINEAR ASIA SINGAPORE PTE LTD
    Inventors: James Bennett, Jonathan Friedmann
  • Patent number: 10013255
    Abstract: A method includes, in a processor, processing a sequence of pre-compiled instructions by an instruction pipeline of the processor. A first block of instructions is identified in the instructions flowing via the pipeline. The first block includes a conditional branch instruction that conditionally diverges execution of the instructions into at least first and second flow-control traces that differ from one another in multiple instructions and converge at a given instruction that is again common to the first and second flow-control traces. A second block of instructions, which is logically equivalent to the first block but replaces the first and second flow-control traces by a single flow-control trace, is created by the processor at runtime. The pipeline is caused to execute the second block instead of the first block.
    Type: Grant
    Filed: March 23, 2016
    Date of Patent: July 3, 2018
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Jonathan Friedmann, Ido Goren, Shay Koren, Noam Mizrahi, Alberto Mandler
  • Publication number: 20180129500
    Abstract: A method includes retrieving to a pipeline of a processor first instructions of program code from a first region in the program code. Before fully determining a flow-control path, which is to be traversed within the first region until exit from the first region, a beginning of a second region in the code that is to be processed following the first region is predicted, and second instructions begin to be retrieved to the pipeline from the second region. The retrieved first instructions and second instructions are processed by the pipeline.
    Type: Application
    Filed: June 8, 2017
    Publication date: May 10, 2018
    Inventors: Shay Koren, Noam Mizrahi, Jonathan Friedmann
  • Publication number: 20180129498
    Abstract: Method(s) for up/down fusion and/or pseudo-fusion of micro-operations are performed in a hardware processor configured to execute program code. A mergeable pair of micro-operations is identified in a sequence of micro-operations of the program code. The pair of micro-operations includes a first micro-operation for performing a first function and a non-consecutive second micro-operation for performing a second function. The first micro-operation precedes the second micro-operation in the sequence of micro-operations being processed. The first micro-operation is merged into the second micro-operation to create a third micro-operation which performs both the first function and the second function. In up/down fusion the third micro-operation is dispatched instead of the first micro-operation or instead of the second micro-operation, based on whether fuse-up or fuse-down is performed.
    Type: Application
    Filed: August 30, 2017
    Publication date: May 10, 2018
    Inventors: Nadav LEVISON, Noam Mizrahi, Jonathan Friedmann
  • Publication number: 20180129505
    Abstract: A method includes, in a processor (20) that processes instructions of program code, processing a first segment of the instructions. One or more destination registers are identified in the first segment using an approximate specification of register access by the instructions. Respective values of the destination registers are made available to a second segment of the instructions only upon verifying that the values are valid for readout by the second segment in accordance with the approximate specification. The second segment is processed at least partially in parallel with processing of the first segment, using the values made available from the first segment.
    Type: Application
    Filed: February 4, 2016
    Publication date: May 10, 2018
    Inventors: Noam MIZRAHI, Alberto MANDLER, Shay KOREN, Jonathan FRIEDMANN
  • Publication number: 20180129501
    Abstract: Method(s) for up/down fusion and/or pseudo-fusion of micro-operations are performed in a hardware processor configured to execute program code. A mergeable pair of micro-operations is identified in a sequence of micro-operations of the program code. The pair of micro-operations includes a first micro-operation for performing a first function and a non-consecutive second micro-operation for performing a second function. The first micro-operation precedes the second micro-operation in the sequence of micro-operations being processed. The first micro-operation is merged into the second micro-operation to create a third micro-operation which performs both the first function and the second function. In up/down fusion the third micro-operation is dispatched instead of the first micro-operation or instead of the second micro-operation, based on whether fuse-up or fuse-down is performed.
    Type: Application
    Filed: August 30, 2017
    Publication date: May 10, 2018
    Inventors: Nadav LEVISON, Noam MIZRAHI, Jonathan FRIEDMANN
  • Publication number: 20180095766
    Abstract: A method includes, in a processor having a pipeline, fetching instructions of program code at run-time, in an order that is different from an order-of-appearance of the instructions in the program code. The instructions are divided into segments having segment identifiers (IDs). An event, which warrants flushing of instructions starting from an instruction belonging to a segment, is detected. In response to the event, at least some of the instructions in the segment that are subsequent to the instruction, and at least some of the instructions in one or more subsequent segments that are subsequent to the segment, are flushed from the pipeline based on the segment IDs.
    Type: Application
    Filed: October 5, 2016
    Publication date: April 5, 2018
    Inventors: Jonathan Friedmann, Noam Mizrahi, Alberto Mandler
  • Publication number: 20180014213
    Abstract: A communications network is disclosed that includes one or more microwave backhaul nodes for routing communications between one or more near end mobile communications devices and one or more far end mobile communications devices. The communications network includes a central monitoring and control infrastructure, a remote monitoring and control infrastructure and/or a local monitoring and control infrastructure. The central monitoring and control infrastructure, the remote monitoring and control infrastructure and/or the local monitoring and control infrastructure can directly manage the one or more microwave backhaul nodes. Alternatively, the remote monitoring and control infrastructure and/or the local monitoring and control infrastructure can indirectly manage the one or more microwave backhaul nodes through the central monitoring and control infrastructure.
    Type: Application
    Filed: September 20, 2017
    Publication date: January 11, 2018
    Inventors: James Bennett, Jonathan Friedmann
  • Publication number: 20180004627
    Abstract: A processor includes an instruction pipeline and control circuitry. The instruction pipeline is configured to process instructions of program code. The control circuitry is configured to monitor the processed instructions at run-time, to construct an invocation data structure comprising multiple entries, wherein each entry (i) specifies an initial instruction that is a target of a branch instruction, (ii) specifies a portion of the program code that follows one or more possible flow-control traces beginning from the initial instruction, and (iii) specifies, for each possible flow-control trace specified in the entry, a next entry that is to be processed following processing of that possible flow-control trace, and to configure the instruction pipeline to process segments of the program code, by continually traversing the entries of the invocation data structure.
    Type: Application
    Filed: June 29, 2016
    Publication date: January 4, 2018
    Inventors: Shay Koren, Arie Hacohen Ben Porat, Ido Goren, Noam Mizrahi, Jonathan Friedmann
  • Publication number: 20170344374
    Abstract: A method includes, in a pipeline of a processor, writing instructions of a single software thread that are pending for execution into a reorder buffer (ROB) in accordance with a single write position, and incrementing the single write position to point to a location in the ROB for a next instruction to be written. The instructions, which were written in accordance with the single write position, are removed from first and second different locations in the ROB, and the first and second locations are incremented.
    Type: Application
    Filed: May 24, 2017
    Publication date: November 30, 2017
    Inventors: Jonathan Friedmann, Shay Koren
  • Publication number: 20170337062
    Abstract: A processor includes a pipeline and control circuitry. The pipeline is configured to process instructions of program code and includes one or more fetch units. The control circuitry is configured to predict at run-time one or more future flow-control traces to be traversed in the program code, to define, based on the predicted flow-control traces, two or more regions of the program code from which instructions are to be fetched, wherein the number of regions is greater than the number of fetch units, and to instruct the pipeline to fetch instructions alternately from the two or more regions of the program code using the one or more fetch units, and to process the fetched instructions.
    Type: Application
    Filed: December 29, 2016
    Publication date: November 23, 2017
    Inventors: Jonathan Friedmann, Shay Koren, Noam Mizrahi, Alberto Mandler
  • Patent number: 9794807
    Abstract: A communications network is disclosed that includes one or more microwave backhaul nodes for routing communications between one or more near end mobile communications devices and one or more far end mobile communications devices. The communications network includes a central monitoring and control infrastructure, a remote monitoring and control infrastructure and/or a local monitoring and control infrastructure. The central monitoring and control infrastructure, the remote monitoring and control infrastructure and/or the local monitoring and control infrastructure can directly manage the one or more microwave backhaul nodes. Alternatively, the remote monitoring and control infrastructure and/or the local monitoring and control infrastructure can indirectly manage the one or more microwave backhaul nodes through the central monitoring and control infrastructure.
    Type: Grant
    Filed: June 28, 2012
    Date of Patent: October 17, 2017
    Assignee: Maxlinear Asia Singapore PTE LTD
    Inventors: James Bennett, Jonathan Friedmann