Mill Computing, Inc.

États‑Unis d’Amérique

Retour au propriétaire

1-26 de 26 pour Mill Computing, Inc. Trier par
Recheche Texte
Affiner par
Type PI
        Brevet 25
        Marque 1
Juridiction
        États-Unis 18
        International 8
Date
2022 1
Avant 2021 25
Classe IPC
G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions 13
G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire 13
G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle 9
G06F 12/02 - Adressage ou affectationRéadressage 7
G06F 12/0893 - Mémoires cache caractérisées par leur organisation ou leur structure 6
Voir plus
Statut
En Instance 1
Enregistré / En vigueur 25

1.

MILL COMPUTING

      
Numéro de série 97345222
Statut En instance
Date de dépôt 2022-04-04
Propriétaire Mill Computing, Inc. (USA)
Classes de Nice  ? 09 - Appareils et instruments scientifiques et électriques

Produits et services

Semiconductors and semiconductor related products, namely, soft macros computer chips and hard macros computer chips, CPU cores, semiconductor chips and downloadable or recorded computer software for semiconductor design

2.

Computer processor employing operand data with associated meta-data

      
Numéro d'application 16566040
Numéro de brevet 11226821
Statut Délivré - en vigueur
Date de dépôt 2019-09-10
Date de la première publication 2020-02-27
Date d'octroi 2022-01-18
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Yost, David Arthur
  • Mirolo, Sebastien Paul Maurice

Abrégé

A computer processor is provided that employs a plurality of operand storage elements that store operand data values and associated meta-data as unitary operand data elements as well as at least one functional unit that performs operations that produce and access the unitary operand data elements stored in the plurality of operand storage elements. The meta-data associated with a given operand data value as part of a unitary operand data element can specify type of the unitary operand data element (e.g., vector or scalar), elemental width and floating-point error flags. The meta-data can also be used to define special operand data values (e.g., Not-a-Result and None). The meta-data is useful in optimizing execution, such as in speculation and vectorized SIMD operations. The computer processor can also support a number of particular vector operations that are useful in optimizing execution of vectorized SIMD operations.

Classes IPC  ?

  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 11/07 - Réaction à l'apparition d'un défaut, p. ex. tolérance de certains défauts
  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
  • G06F 12/14 - Protection contre l'utilisation non autorisée de mémoire

3.

CPU security mechanisms employing thread-specific protection domains

      
Numéro d'application 15559858
Numéro de brevet 10678700
Statut Délivré - en vigueur
Date de dépôt 2016-03-21
Date de la première publication 2018-03-01
Date d'octroi 2020-06-09
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Schukat, Jan
  • Edwards, William

Abrégé

A computer processor includes an instruction processing pipeline that interfaces to a hierarchical memory system employing an address space. The instruction processing pipeline includes execution logic that executes at least one thread in different protection domains over time, wherein the different protection domains are defined by descriptors each including first data specifying a memory region of the address space employed by the hierarchical memory system and second data specifying permissions for accessing the associated memory region. The address space can be a virtual address space or a physical address space. The protection domains can be associated with different turfs each representing a collection of descriptors. A given thread can execute in a particular protection domain(turf), one protection domain (turf) at a time with the particular protection domain (turf) selectively configured to change over time.

Classes IPC  ?

  • G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle
  • G06F 12/0893 - Mémoires cache caractérisées par leur organisation ou leur structure
  • G06F 12/0875 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p. ex. mémoires cache avec mémoire cache dédiée, p. ex. instruction ou pile
  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 12/14 - Protection contre l'utilisation non autorisée de mémoire
  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
  • G06F 9/46 - Dispositions pour la multiprogrammation
  • G06F 9/00 - Dispositions pour la commande par programme, p. ex. unités de commande

4.

CPU SECURITY MECHANISMS EMPLOYING THREAD-SPECIFIC PROTECTION DOMAINS

      
Numéro d'application US2016023420
Numéro de publication 2016/154115
Statut Délivré - en vigueur
Date de dépôt 2016-03-21
Date de publication 2016-09-29
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger, Rawson
  • Kahlich, Arthur, David
  • Schukat, Jan
  • Edwards, William

Abrégé

A computer processor includes an instruction processing pipeline that interfaces to a hierarchical memory system employing an address space. The instruction processing pipeline includes execution logic that executes at least one thread in different protection domains over time, wherein the different protection domains are defined by descriptors each including first data specifying a memory region of the address space employed by the hierarchical memory system and second data specifying permissions for accessing the associated memory region. The address space can be a virtual address space or a physical address space. The protection domains can be associated with different turfs each representing a collection of descriptors. A given thread can execute in a particular protection domain(turf), one protection domain (turf) at a time with the particular protection domain (turf) selectively configured to change over time.

Classes IPC  ?

  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire

5.

CPU security mechanisms employing thread-specific protection domains

      
Numéro d'application 14663760
Numéro de brevet 09747218
Statut Délivré - en vigueur
Date de dépôt 2015-03-20
Date de la première publication 2016-09-22
Date d'octroi 2017-08-29
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Schukat, Jan

Abrégé

A computer processor includes an instruction processing pipeline that interfaces to a hierarchical memory system employing an address space. The instruction processing pipeline includes execution logic that executes at least one thread in different protection domains over time, wherein the different protection domains are defined by region descriptors each including first data specifying a memory region of the address space employed by the hierarchical memory system and second data specifying permissions for accessing the associated memory region. The address space can be a virtual address space or a physical address space. The protection domains can be associated with different turfs each representing a collection of region descriptors. A given thread can execute in a particular turf, one turf at a time. The particular turf can be selectively configured to change over time.

Classes IPC  ?

  • G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle
  • G06F 12/0893 - Mémoires cache caractérisées par leur organisation ou leur structure
  • G06F 12/0875 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p. ex. mémoires cache avec mémoire cache dédiée, p. ex. instruction ou pile

6.

Computer processor employing instruction block exit prediction

      
Numéro d'application 14539087
Numéro de brevet 09875106
Statut Délivré - en vigueur
Date de dépôt 2014-11-12
Date de la première publication 2016-05-12
Date d'octroi 2018-01-23
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David

Abrégé

A computer processor is provided that executes sequences of instructions stored in memory. The sequences of instructions are organized as one or more instruction blocks each having an entry point and at least one exit point offset from the entry point. An apparatus for predicting control flow through sequences of instructions includes a table storing a plurality of entries each associated with an instruction block or part thereof. At least one entry of the table corresponding to a given instruction block or part thereof includes a predictor corresponding to a predicted execution path that exits the given Instruction block or part thereof. The table is queried in order to generate a chain of predictors corresponding to a sequence of instruction blocks or parts thereof that is predicted to be executed by the computer processor.

Classes IPC  ?

  • G06F 9/00 - Dispositions pour la commande par programme, p. ex. unités de commande
  • G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire

7.

EXECUTION AND SCHEDULING OF SOFTWARE PIPELINED LOOPS

      
Numéro d'application US2015040096
Numéro de publication 2016/028410
Statut Délivré - en vigueur
Date de dépôt 2015-07-13
Date de publication 2016-02-25
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger, Rawson
  • Kahlich, Arthur, David
  • Yost, David, Arthur

Abrégé

A computer processor includes execution logic (having a number of functional units) configured to perform operations that access operand data values stored in a plurality of operand storage elements. Such operand data values include a predefined None operand data value indicative of a missing operand value. The operations include a RETIRE operation specifying a number of operand data values that is intended to be retired in a predefined machine cycle. During execution of the RETIRE operation, zero or more at None operand data values are selectively retired in the predefined machine cycle based on the number of operand data values specified by the RETIRE operation and the number of operand data values to be retired as a result of execution of other operations by the execution logic in the predefined machine cycle. Other aspects and software tools are also described and claimed.

Classes IPC  ?

  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire

8.

Computer processor employing explicit operations that support execution of software pipelined loops and a compiler that utilizes such operations for scheduling software pipelined loops

      
Numéro d'application 14797432
Numéro de brevet 09817669
Statut Délivré - en vigueur
Date de dépôt 2015-07-13
Date de la première publication 2016-01-14
Date d'octroi 2017-11-14
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Yost, David Arthur

Abrégé

A computer processor includes execution logic (having a number of functional units) configured to perform operations that access operand data values stored in a plurality of operand storage elements. Such operand data values include a predefined None operand data value indicative of a missing operand value. The operations include a RETIRE operation specifying a number of operand data values that is intended to be retired in a predefined machine cycle. During execution of the RETIRE operation, zero or more at None operand data values are selectively retired in the predefined machine cycle based on the number of operand data values specified by the RETIRE operation and the number of operand data values to be retired as a result of execution of other operations by the execution logic in the predefined machine cycle. Other aspects and software tools are also described and claimed.

Classes IPC  ?

  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 9/45 - Compilation ou interprétation de langages de programmation évolués

9.

Computer processor employing temporal addressing for storage of transient operands

      
Numéro d'application 14312159
Numéro de brevet 09513921
Statut Délivré - en vigueur
Date de dépôt 2014-06-23
Date de la première publication 2015-12-24
Date d'octroi 2016-12-06
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Mirolo, Sebastien Paul Maurice
  • Yost, David Arthur

Abrégé

A computer processor including a plurality of storage elements logically organized as a fixed length queue referenced by logical temporal addresses. The fixed length queue operates over multiple cycles to temporarily store operands referenced by at least one instruction utilizing the logical temporal addresses. A plurality of functional units performs operations over the multiple cycles, wherein the operations produce and access operands stored in the logical fixed length queue. Operands can be added to the front of the logical fixed length queue according to the temporal order that operands are produced by the functional units, and operands can drop from the end of the logical fixed length queue as operands are added to the front of the fixed length queue. A plurality of operands produced by the plurality of functional units (possibly with different latencies in producing such operands) can be added to the logical fixed length queue in a single cycle. A plurality of operands operated on by the functional units can be accessed from the logical fixed length queue in a single cycle.

Classes IPC  ?

  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 9/35 - Adressage indirect
  • G06F 13/40 - Structure du bus

10.

Computer processor employing byte-addressable dedicated memory for operand storage

      
Numéro d'application 14311988
Numéro de brevet 09747216
Statut Délivré - en vigueur
Date de dépôt 2014-06-23
Date de la première publication 2015-12-24
Date d'octroi 2017-08-29
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Mirolo, Sebastien Paul Maurice
  • Yost, David Arthur

Abrégé

A computer processor including a first memory structure that operates over multiple cycles to temporarily store operands referenced by at least one instruction. A plurality of functional units performs operations that produce and access operands stored in the first memory structure. A second memory structure is provided, separate from the first memory structure. The second memory structure is configured as a dedicated memory for storage of operands copied from the first memory structure. The second memory structure is organized with a byte-addressable memory space and each operand stored in the second memory structure is accessed by a given byte address into the byte-addressable memory space.

Classes IPC  ?

  • G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle
  • G06F 12/02 - Adressage ou affectationRéadressage
  • G06F 12/0875 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p. ex. mémoires cache avec mémoire cache dédiée, p. ex. instruction ou pile
  • G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
  • G06F 9/50 - Allocation de ressources, p. ex. de l'unité centrale de traitement [UCT]

11.

Computer processor employing split crossbar circuit for operand routing and slot-based organization of functional units

      
Numéro d'application 14312274
Numéro de brevet 09747238
Statut Délivré - en vigueur
Date de dépôt 2014-06-23
Date de la première publication 2015-12-24
Date d'octroi 2017-08-29
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Mirolo, Sebastien Paul Maurice
  • Yost, David Arthur

Abrégé

A computer processor including a plurality of functional units that performs operations that produce result operands at different characteristic latencies over multiple cycles. An interconnect network provides data paths for transfer of operand data between functional units. The interconnect network includes first and second crossbar parts. The first crossbar part is configured to route result operands produced with the lowest characteristic latency to any other functional unit. The second crossbar part is configured to route result operands with higher characteristic latency relative to the lowest characteristic latency to the first crossbar part where such result operands are in turn routed to any functional unit. In another aspect, the functional units can be organized as multiple slots where each slot can produce multiple result operands of different characteristic latencies in the same cycle, and wherein each slot employs separate result registers for each characteristic latency present on the slot.

Classes IPC  ?

  • G06F 9/34 - Adressage de l'opérande d'instruction ou du résultat ou accès à l'opérande d'instruction ou au résultat
  • G06F 13/40 - Structure du bus
  • G06F 13/42 - Protocole de transfert pour bus, p. ex. liaisonSynchronisation

12.

Computer processor employing split-stream encoding

      
Numéro d'application 14290108
Numéro de brevet 09513920
Statut Délivré - en vigueur
Date de dépôt 2014-05-29
Date de la première publication 2015-12-03
Date d'octroi 2016-12-06
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Yost, David Arthur

Abrégé

A computer processor is operably coupled to a memory system. The memory system is configured to store instruction blocks, wherein each instruction block is associated with an entry address and multiple distinct instruction streams within the instruction block. The multiple distinct instruction streams include at least a first instruction stream and a second instruction stream. The first instruction stream has an instruction order that logically extends in a direction of increasing memory space relative to the entry address of the instruction block. The second instruction stream has an instruction order that logically extends in a direction of decreasing memory space relative to the entry address of the instruction block. The computer processor includes a number of multi-stage instruction processing components corresponding to the multiple distinct instruction streams within each instruction block. The number of multi-stage instruction processing components are configured to access and process in parallel instructions belonging to multiple distinct instruction streams of a particular instruction block stored in the memory system.

Classes IPC  ?

  • G06F 9/22 - Aménagements de microcommande ou de microprogramme
  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 9/40 - Dispositions pour exécuter des sous-programmes, c. à d. des combinaisons de plusieurs instructions
  • G06F 9/445 - Chargement ou démarrage de programme
  • G06F 9/32 - Formation de l'adresse de l'instruction suivante, p. ex. par incrémentation du compteur ordinal
  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire

13.

Computer processor employing instructions with elided nop operations

      
Numéro d'application 14290293
Numéro de brevet 09785441
Statut Délivré - en vigueur
Date de dépôt 2014-05-29
Date de la première publication 2015-12-03
Date d'octroi 2017-10-10
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Yost, David Arthur

Abrégé

A computer processor that operates on distinct first and second instruction streams that have a predefined timed semantic relationship. At least one of the first and second instruction streams includes variable-length instructions having a header and associated bundle bounded by a head end and a tail end. An alignment hole within the bundle encodes information representing at least one nop operation. The computer processor includes first and second multi-stage instruction processing components configured to process in parallel the first and second instruction streams. At least one of the first and second multi-stage instruction processing components includes an instruction buffer operably coupled to a decode stage. The decode stage is configured to process a variable-length instruction by isolating and interpreting the alignment hole of the variable length instruction in order to initiate zero or more nop operations that follow the timed semantic relationship between the first and second instruction streams.

Classes IPC  ?

  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire

14.

Computer processor employing double-ended instruction decoding

      
Numéro d'application 14290161
Numéro de brevet 09959119
Statut Délivré - en vigueur
Date de dépôt 2014-05-29
Date de la première publication 2015-12-03
Date d'octroi 2018-05-01
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Yost, David Arthur

Abrégé

A computer processor including an instruction buffer configured to store at least one variable-length instruction having a bit bundle bounded by a head end and a tail end with a plurality of slots each defining a corresponding operation, wherein the plurality of slots and corresponding operations are logically partitioned into a plurality of distinct blocks with a first group of blocks extending from the head end of the bit bundle toward the tail end of the bit bundle and a second group of blocks extending from the tail end of the bit bundle toward the head end of the bit bundle, wherein the second group of blocks includes a tail end block disposed adjacent the tail end of the bit bundle. A decode stage is operably coupled to the instruction buffer and configured to process a given variable-length instruction stored by the instruction buffer by decoding at least one operation of a particular block belonging to the first group of blocks in parallel with decoding at least one operation of the tail end block. Additional aspects are described and claimed.

Classes IPC  ?

  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
  • G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle
  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 12/0875 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p. ex. mémoires cache avec mémoire cache dédiée, p. ex. instruction ou pile
  • G06F 12/0886 - Accès par mots de longueur variable

15.

COMPUTER PROCESSOR EMPLOYING PHASES OF OPERATIONS CONTAINED IN WIDE INSTRUCTIONS

      
Numéro d'application US2015023826
Numéro de publication 2015/120491
Statut Délivré - en vigueur
Date de dépôt 2015-04-01
Date de publication 2015-08-13
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Yost, David Arthur
  • Mirolo, Sebastien Paul Maurice

Abrégé

A computer processor employs an instruction processing pipeline that processes a sequence of wide instructions each having an encoding that represents a plurality of different operations. The plurality of different operations of the given wide instruction are logically organized into a number of phases having a predefined ordering such that at least one operation of the given wide instruction produces data that is consumed by at least one other operation of the given wide instruction. In certain circumstances where stalling is absent, the plurality of different operations of the phases of the given wide instruction can be issued for execution by the instruction processing pipeline over a plurality of consecutive machine cycles.

Classes IPC  ?

  • G06F 7/53 - Multiplication uniquement en mode parallèle-parallèle, c.-à-d. les deux opérandes étant introduits en parallèle
  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire

16.

COMPUTER PROCESSOR EMPLOYING OPERAND DATA WITH ASSOCIATED META-DATA

      
Numéro d'application US2014069811
Numéro de publication 2015/089314
Statut Délivré - en vigueur
Date de dépôt 2014-12-11
Date de publication 2015-06-18
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger, Rawson
  • Kahlich, Arthur, David
  • Yost, David, Arthur
  • Mirolo, Sebastien Paul, Maurice

Abrégé

A computer processor is provided that employs a plurality of operand storage elements that store operand data values and associated meta-data as unitary operand data elements as well as at least one functional unit that performs operations that produce and access the unitary operand data elements stored in the plurality of operand storage elements. The meta-data associated with a given operand data value as part of a unitary operand data element can specify type of the unitary operand data element (e.g., vector or scalar), elemental width and floating-point error flags. The meta-data can also be used to define special operand data values (e.g., Not-a-Result and None). The meta-data is useful in optimizing execution, such as in speculation and vectorized SIMD operations. The computer processor can also support a number of particular vector operations that are useful in optimizing execution of vectorized SIMD operations.

Classes IPC  ?

  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire

17.

COMPUTER PROCESSOR EMPLOYING CACHE MEMORY WITH PRE-BYTE VALID BITS

      
Numéro d'application US2014060707
Numéro de publication 2015/057846
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de publication 2015-04-23
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger, Rawson
  • Kahlich, Arthur, David

Abrégé

A computer processing system with a hierarchical memory system that associates a number of valid bits for each cache line of the hierarchical memory system. The valid bits are provided for each cache line stored in a respective cache and make explicit which bytes are semantically defined and which are not for the associated given cache line. Memory requests to the cache(s) of the hierarchical memory system can include an address specifying a requested cache line as well as a mask that includes a number of bits each corresponding to a different byte of the requested cache line.

Classes IPC  ?

  • G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle

18.

COMPUTER PROCESSOR EMPLOYING DEDICATED HARDWARE MECHANISM CONTROLLING THE INITIALIZATION AND INVALIDATION OF CACHE LINES

      
Numéro d'application US2014060721
Numéro de publication 2015/057857
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de publication 2015-04-23
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger, Rawson
  • Kahlich, Arthur, David
  • Hardy, Norman
  • Baum, Allen, J.

Abrégé

A computer processing system includes execution logic that generates memory requests that are supplied to a hierarchical memory system. The computer processing system includes a hardware map storing a number of entries associated with corresponding cache lines, where each given entry of the hardware map indicates whether a corresponding cache line i) currently stores valid data in the hierarchical memory system, or ii) does not currently store valid data in hierarchical memory system and should be interpreted as being implicitly zero throughout.

Classes IPC  ?

  • G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle

19.

COMPUTER PROCESSOR WITH DEFERRED OPERATIONS

      
Numéro d'application US2014060661
Numéro de publication 2015/057819
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de publication 2015-04-23
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger, Rawson
  • Kahlich, Arthur, David
  • Kanovsky, Nachum

Abrégé

A computer processor and corresponding method of operation employs execution logic that includes at least one functional unit and operand storage that stores data that is produced and consumed by the at least one functional unit. The at least one functional unit is configured to execute a deferred operation whose execution produces result data. The execution logic further includes a retire station that is configured to store and retire the result data of the deferred operation in order to store such result data in the operand storage, wherein the retire of such result data occurs at a machine cycle following issue of the deferred operation as controlled by statically-assigned parameter data included in the encoding of the deferred operation.

Classes IPC  ?

  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
  • G06F 9/318 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions avec extension ou modification d'opérations

20.

COMPUTER PROCESSOR EMPLOYING CACHE MEMORY STORING BACKLESS CACHE LINES

      
Numéro d'application US2014060676
Numéro de publication 2015/057828
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de publication 2015-04-23
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger, Rawson
  • Kahlich, Arthur, David

Abrégé

A computer processing system with a hierarchical memory system having at least one cache and physical memory, and a processor having execution logic that generates memory requests that are supplied to the hierarchical memory system. The at least one cache stores a plurality of cache lines including at least one backless cache line.

Classes IPC  ?

  • G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle

21.

Computer processor employing cache memory storing backless cache lines

      
Numéro d'application 14515058
Numéro de brevet 10802987
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de la première publication 2015-04-16
Date d'octroi 2020-10-13
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David

Abrégé

A computer processing system with a hierarchical memory system having at least one cache and physical memory, and a processor having execution logic that generates memory requests that are supplied to the hierarchical memory system. The at least one cache stores a plurality of cache lines including at least one backless cache line.

Classes IPC  ?

  • G06F 12/00 - Accès à, adressage ou affectation dans des systèmes ou des architectures de mémoires
  • G06F 12/1045 - Traduction d'adresses utilisant des moyens de traduction d’adresse associatifs ou pseudo-associatifs, p. ex. un répertoire de pages actives [TLB] associée à une mémoire cache de données
  • G06F 12/1027 - Traduction d'adresses utilisant des moyens de traduction d’adresse associatifs ou pseudo-associatifs, p. ex. un répertoire de pages actives [TLB]
  • G06F 12/121 - Commande de remplacement utilisant des algorithmes de remplacement
  • G06F 12/0893 - Mémoires cache caractérisées par leur organisation ou leur structure
  • G06F 12/0811 - Systèmes de mémoire cache multi-utilisateurs, multiprocesseurs ou multitraitement avec hiérarchies de mémoires cache multi-niveaux
  • G06F 12/0864 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p. ex. mémoires cache utilisant des moyens pseudo-associatifs, p. ex. associatifs d’ensemble ou de hachage
  • G06F 12/02 - Adressage ou affectationRéadressage
  • G06F 12/1009 - Traduction d'adresses avec tables de pages, p. ex. structures de table de page
  • G06F 16/20 - Recherche d’informationsStructures de bases de données à cet effetStructures de systèmes de fichiers à cet effet de données structurées, p. ex. de données relationnelles
  • G06F 12/0897 - Mémoires cache caractérisées par leur organisation ou leur structure avec plusieurs niveaux de hiérarchie de mémoire cache

22.

Computer processor employing hardware-based pointer processing

      
Numéro d'application 14515087
Numéro de brevet 09524163
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de la première publication 2015-04-16
Date d'octroi 2016-12-20
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David

Abrégé

A computer processor is provided with execution logic that performs operations that utilize pointers stored in memory. In one aspect, each pointer is associated with a predefined number of event bits. The execution logic processes the event bits of a given pointer in conjunction with processing a predefined pointer-related operation involving the given pointer in order to selectively output an event-of-interest signal. In another aspect, each pointer is represented by an address field and a granularity field. The address field includes a chunk address and an offset. The granularity field represents granularity of the offset of the address field. The execution logic includes an address derivation unit that processes the granularity field of a base address for a given pointer in order to generate a valid address field for the derived pointer.

Classes IPC  ?

  • G06F 12/02 - Adressage ou affectationRéadressage
  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle
  • G06F 12/10 - Traduction d'adresses
  • G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet

23.

Computer processor employing bypass network using result tags for routing result operands

      
Numéro d'application 14515248
Numéro de brevet 09965274
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de la première publication 2015-04-16
Date d'octroi 2018-05-08
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Kahlich, Arthur David
  • Godard, Roger Rawson

Abrégé

A computer processor is provided with a plurality of functional units that performs operations specified by the at least one instruction over the multiple machine cycles, wherein the operations produce result operands. The processor also includes circuitry that generates result tags dynamically according to the number of operations that produce result operands in a given machine cycle. A bypass network is configured to provide data paths for transfer of operand data between the plurality of functional units according to the result tags.

Classes IPC  ?

  • G06F 12/1045 - Traduction d'adresses utilisant des moyens de traduction d’adresse associatifs ou pseudo-associatifs, p. ex. un répertoire de pages actives [TLB] associée à une mémoire cache de données
  • G06F 12/1027 - Traduction d'adresses utilisant des moyens de traduction d’adresse associatifs ou pseudo-associatifs, p. ex. un répertoire de pages actives [TLB]
  • G06F 12/02 - Adressage ou affectationRéadressage
  • G06F 12/0864 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p. ex. mémoires cache utilisant des moyens pseudo-associatifs, p. ex. associatifs d’ensemble ou de hachage
  • G06F 12/0811 - Systèmes de mémoire cache multi-utilisateurs, multiprocesseurs ou multitraitement avec hiérarchies de mémoires cache multi-niveaux
  • G06F 12/0893 - Mémoires cache caractérisées par leur organisation ou leur structure
  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 9/38 - Exécution simultanée d'instructions, p. ex. pipeline ou lecture en mémoire
  • G06F 12/1009 - Traduction d'adresses avec tables de pages, p. ex. structures de table de page
  • G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
  • G06F 12/0897 - Mémoires cache caractérisées par leur organisation ou leur structure avec plusieurs niveaux de hiérarchie de mémoire cache

24.

Computer processor with deferred operations

      
Numéro d'application 14515033
Numéro de brevet 09690581
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de la première publication 2015-04-16
Date d'octroi 2017-06-27
Propriétaire Mil Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Kanovsky, Nachum
  • Yost, David Arthur
  • Mirolo, Sebastien Paul Maurice

Abrégé

A computer processor and corresponding method of operation employs execution logic that includes at least one functional unit and operand storage that stores data that is produced and consumed by the at least one functional unit. The at least one functional unit is configured to execute a deferred operation whose execution produces result data. The execution logic further includes a retire station that is configured to store and retire the result data of the deferred operation in order to store such result data in the operand storage, wherein the retire of such result data occurs at a machine cycle following issue of the deferred operation as controlled by statically-assigned parameter data included in the encoding of the deferred operation.

Classes IPC  ?

  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 9/40 - Dispositions pour exécuter des sous-programmes, c. à d. des combinaisons de plusieurs instructions
  • G06F 12/0893 - Mémoires cache caractérisées par leur organisation ou leur structure
  • G06F 12/0811 - Systèmes de mémoire cache multi-utilisateurs, multiprocesseurs ou multitraitement avec hiérarchies de mémoires cache multi-niveaux
  • G06F 12/0864 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p. ex. mémoires cache utilisant des moyens pseudo-associatifs, p. ex. associatifs d’ensemble ou de hachage
  • G06F 12/02 - Adressage ou affectationRéadressage
  • G06F 12/1027 - Traduction d'adresses utilisant des moyens de traduction d’adresse associatifs ou pseudo-associatifs, p. ex. un répertoire de pages actives [TLB]
  • G06F 12/1009 - Traduction d'adresses avec tables de pages, p. ex. structures de table de page
  • G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
  • G06F 12/0897 - Mémoires cache caractérisées par leur organisation ou leur structure avec plusieurs niveaux de hiérarchie de mémoire cache

25.

Computer processor employing cache memory with per-byte valid bits

      
Numéro d'application 14515178
Numéro de brevet 09513904
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de la première publication 2015-04-16
Date d'octroi 2016-12-06
Propriétaire MILL COMPUTING, INC. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David

Abrégé

A computer processing system with a hierarchical memory system that associates a number of valid bits for each cache line of the hierarchical memory system. The valid bits are provided for each cache line stored in a respective cache and make explicit which bytes are semantically defined and which are not for the associated given cache line. Memory requests to the cache(s) of the hierarchical memory system can include an address specifying a requested cache line as well as a mask that includes a number of bits each corresponding to a different byte of the requested cache line. The values of the bits of the byte mask indicate which bytes of the requested cache line are to be returned from the hierarchical memory system. The memory request is processed by the top level cache of the hierarchical memory system, looking for one or more valid bytes of the requested cache line corresponding to the target address of the memory request. The valid bytes of the cache line corresponding to the byte mask as stored in cache can be identified by reading out the valid bit(s) and data byte(s) stored by the cache for putative matching cache lines for those data bytes that are specified by the byte mask of the memory request, while ignoring the valid bit(s) and data byte(s) stored by the cache for putative matching cache lines for those data bytes that are not specified by the byte mask of the memory request. Extensions to shared multiprocessor systems is also described and claimed.

Classes IPC  ?

  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 12/08 - Adressage ou affectationRéadressage dans des systèmes de mémoires hiérarchiques, p. ex. des systèmes de mémoire virtuelle
  • G06F 12/02 - Adressage ou affectationRéadressage
  • G06F 12/10 - Traduction d'adresses

26.

Computer processor employing dedicated hardware mechanism controlling the initialization and invalidation of cache lines

      
Numéro d'application 14515231
Numéro de brevet 09652230
Statut Délivré - en vigueur
Date de dépôt 2014-10-15
Date de la première publication 2015-04-16
Date d'octroi 2017-05-16
Propriétaire Mill Computing, Inc. (USA)
Inventeur(s)
  • Godard, Roger Rawson
  • Kahlich, Arthur David
  • Hardy, Norman
  • Baum, Allen Jay

Abrégé

A computer processing system includes execution logic that generates memory requests that are supplied to a hierarchical memory system. The computer processing system includes a hardware map storing a number of entries associated with corresponding cache lines, where each given entry of the hardware map indicates whether a corresponding cache line i) currently stores valid data in the hierarchical memory system, or ii) does not currently store valid data in hierarchical memory system and should be interpreted as being implicitly zero throughout.

Classes IPC  ?

  • G06F 9/30 - Dispositions pour exécuter des instructions machines, p. ex. décodage d'instructions
  • G06F 12/0893 - Mémoires cache caractérisées par leur organisation ou leur structure
  • G06F 12/0811 - Systèmes de mémoire cache multi-utilisateurs, multiprocesseurs ou multitraitement avec hiérarchies de mémoires cache multi-niveaux
  • G06F 12/0864 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p. ex. mémoires cache utilisant des moyens pseudo-associatifs, p. ex. associatifs d’ensemble ou de hachage
  • G06F 12/02 - Adressage ou affectationRéadressage
  • G06F 12/1027 - Traduction d'adresses utilisant des moyens de traduction d’adresse associatifs ou pseudo-associatifs, p. ex. un répertoire de pages actives [TLB]
  • G06F 12/1009 - Traduction d'adresses avec tables de pages, p. ex. structures de table de page
  • G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
  • G06F 12/0897 - Mémoires cache caractérisées par leur organisation ou leur structure avec plusieurs niveaux de hiérarchie de mémoire cache