Patents by Inventor DOUGLAS R. REED
DOUGLAS R. REED 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: 10380817Abstract: A method and system for providing hands free operation of at least one vehicle door is provided that include determining if a portable device is located within at least one local area polling zone of a vehicle. The method and system also include determining if the portable device is stationary for a predetermined period of time within the at least one local area polling zone of the vehicle. The method and system further include supplying an amount of power to a motor associated with the at least one vehicle door to open or close the at least one vehicle door if it is determined that the portable device is stationary for the predetermined period of time.Type: GrantFiled: October 12, 2017Date of Patent: August 13, 2019Assignee: Honda Motor Co., Ltd.Inventors: Wesley W. Kim, Brian K. Lickfelt, Douglas R. Reed, Emanuel Ulises Perez Zenteno, Tyler J. Rupp, Kentaro Yoshimura, Chyuan Y. Muh, Spencer A. Kennedy, Tomonori Watanabe
-
Patent number: 10324842Abstract: A microprocessor comprises a plurality of queues containing transient transaction state information about cache-accessing transactions; a plurality of detectors coupled to the plurality of queues and monitoring the plurality of queues for one or more likely starvation, livelock, or deadlock conditions; and a plurality of recovery logic modules operable to implement one or more recovery routines when the detectors identify one or more likely starvation, livelock, or deadlock conditions.Type: GrantFiled: December 13, 2014Date of Patent: June 18, 2019Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTDInventor: Douglas R. Reed
-
Patent number: 10268587Abstract: A processor including a front end, at least one load pipeline, and a memory system that further includes a programmable prefetcher for prefetching information from an external memory. The front end converts fetched program instructions into microinstructions including load microinstructions and dispatches microinstructions for execution. The load pipeline executes dispatched load microinstructions and provides load requests to the memory system. The programmable prefetcher includes a load monitor, a programmable prefetch engine, and a prefetch requester. The load monitor tracks the load requests. The prefetch engine is configured to be programmed by at least one prefetch program to operate as a programmed prefetcher, such that during operation of the processor, the programmed prefetcher generates at least one prefetch address based on the load requests issued by the processor. The prefetch requester submits the at least one prefetch address to prefetch information from the memory system.Type: GrantFiled: December 7, 2016Date of Patent: April 23, 2019Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.Inventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks, Douglas R. Reed
-
Patent number: 10268586Abstract: A processor including a programmable prefetcher for prefetching information from an external memory. The programmable prefetcher includes a load monitor, a programmable prefetch engine, and a prefetch requester. The load monitor tracks load requests issued by the processor to retrieve information from the external memory. The programmable prefetch engine is configured to be programmed by at least one prefetch program to operate as a programmed prefetcher, such that during operation of the processor, the programmed prefetcher generates at least one prefetch address based on the load requests issued by the processor. The requester uses each generated prefetch address to prefetch information from the external memory. A prefetch memory may store one or more prefetch programs and a prefetch programmer may be included to select from among stored prefetch programs to program the prefetcher based on an executing process. Each prefetch program may be configured according to a prefetch definition.Type: GrantFiled: October 28, 2016Date of Patent: April 23, 2019Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.Inventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks, Douglas R. Reed
-
Patent number: 10146543Abstract: A conversion system that converts a standard executable program according to a predetermined ISA into a custom executable program executable by a general purpose processor. The processor includes a PEU that is programmable to execute a UDI. The conversion system includes a PEU programming tool that converts a functional description of a processing operation to be performed by the PEU of the processor into programming information for the PEU to perform the processing operation in response to the UDI. A converter converts the standard executable program into the custom executable program and includes an optimization routine that replaces a portion of the standard executable program with the specified UDI and that inserts the UDI into the custom executable program, and that further inserts a UDI load instruction that specifies the UDI and a location of the programming information in the custom executable program.Type: GrantFiled: December 7, 2016Date of Patent: December 4, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.Inventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks, Douglas R. Reed
-
Patent number: 10127041Abstract: A compiler system that converts an application source program into an executable program according to a predetermined ISA executable by a general purpose processor. The processor includes a PEU that is programmable to execute a UDI. The compiler system includes a PEU programming tool that converts a functional description of a processing operation to be performed by the PEU of the processor into programming information for programming the PEU to perform the processing operation in response to the specified UDI. The compiler system includes a compiler that converts the application source program into the executable program, which includes an optimization routine that represents a portion of the application source program with the specified UDI and that inserts the UDI into the executable program, and that further inserts into the executable program a UDI load instruction that specifies the UDI and a location of the programming information in the executable program.Type: GrantFiled: December 7, 2016Date of Patent: November 13, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.Inventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks, Douglas R. Reed
-
Publication number: 20180267898Abstract: A first data storage holds cache lines, an accelerator has a second data storage that selectively holds accelerator data and cache lines evicted from the first data storage, a tag directory holds tags for cache lines stored in the first and second data storages, and a mode indicator indicates whether the second data storage is operating in a first or second mode in which it respectively holds cache lines evicted from the first data storage or accelerator data. In response to a request to evict a cache line from the first data storage, in the first mode the control logic writes the cache line to the second data storage and updates a tag in the tag directory to indicate the cache line is present in the second data storage, and in the second mode the control logic instead writes the cache line to a system memory.Type: ApplicationFiled: May 16, 2018Publication date: September 20, 2018Inventors: G. Glenn HENRY, Terry PARKS, Douglas R. Reed
-
Patent number: 10073787Abstract: A set associative cache memory comprises an M×N memory array of storage entries arranged as M sets by N ways, both M and N are integers greater than one. Within each group of P mutually exclusive groups of the M sets, the N ways are separately powerable. A controller, for each group of the P groups, monitors a utilization trend of the group and dynamically causes power to be provided to a different number of ways of the N ways of the group during different time instances based on the utilization trend.Type: GrantFiled: September 29, 2016Date of Patent: September 11, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.Inventors: Douglas R. Reed, Rodney E. Hooker
-
Patent number: 10067871Abstract: A microprocessor comprises a cache including a tag array; a tagpipe that arbitrates access to the tag array; and a logic analyzer for investigating a starvation, livelock, or deadlock condition. The logic analyzer, which comprises read logic coupled to the tagpipe, is configured to record snapshots of transactions to access the tag array.Type: GrantFiled: December 13, 2014Date of Patent: September 4, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTDInventors: Rodney E. Hooker, Douglas R. Reed
-
Publication number: 20180225116Abstract: A hardware processing unit is provided. The hardware processing unit includes: an accumulator; a multiplier-adder receives first and second factors and receives an addend, the multiplier-adder generates a sum of the addend and a product of the first and second factors and provides the sum; a first multiplexer receives a first operand, a positive one, and a negative one and selects one of them for provision as the first factor to the multiplier-adder; a second multiplexer receives a second operand, a positive one, and a negative one and selects one of them for provision as the second factor to the multiplier-adder; a third multiplexer, having an output, that receives the first operand and the second operand and selects one of them for provision on its output; and a fourth multiplexer receives the third multiplexer output and the sum and selects one of them for provision to the accumulator.Type: ApplicationFiled: April 10, 2018Publication date: August 9, 2018Inventors: G. Glenn HENRY, Douglas R. Reed, Kim C. Houck, Parviz Palangpour
-
Publication number: 20180157967Abstract: A processor comprising a plurality of processing cores, a last level cache memory (LLC) shared by the plurality of processing cores, and a neural network unit (NNU) comprising an array of neural processing units (NPU) and a memory array. The LLC comprises a plurality of slices. To transition from a first mode in which the memory array operates to store neural network weights read by the plurality of NPUs to a second mode in which the memory array operates as a slice of the LLC in addition to the plurality of slices, the processor write-back-invalidates the LLC and updates a hashing algorithm to include the memory array as a slice of the LLC in addition to the plurality of slices. To transition from the second mode to the first mode, the processor write-back-invalidates the LLC and updates the hashing algorithm to exclude the memory array from the LLC.Type: ApplicationFiled: December 1, 2016Publication date: June 7, 2018Inventors: G. GLENN HENRY, DOUGLAS R. REED
-
Publication number: 20180157968Abstract: A processor comprises a neural network unit (NNU) and a processing complex (PC) comprising a processing core and cache memory. The NNU comprises neural processing units (NPU), cache control logic (CCL) and a memory array (MA). To transition from a first mode in which the MA operates to hold neural network weights for the array of NPUs to a second mode in which the MA and CCL operate as a victim cache, the CCL begins to cache evicted cache lines into the MA in response to eviction requests and begins to provide to the PC lines that hit in the MA in response to load requests. To transition from the second mode to the first mode, the CCL invalidates all lines of the MA, ceases to cache evicted lines into the MA in response to eviction requests, and ceases to provide to the PC lines in response to load requests.Type: ApplicationFiled: December 1, 2016Publication date: June 7, 2018Inventors: G. GLENN HENRY, DOUGLAS R. REED
-
Publication number: 20180157970Abstract: A processor comprising a mode indicator, a plurality of processing cores, and a neural network unit (NNU), comprising a memory array, an array of neural processing units (NPU), cache control logic, and selection logic that selectively couples the plurality of NPUs and the cache control logic to the memory array. When the mode indicator indicates a first mode, the selection logic enables the plurality of NPUs to read neural network weights from the memory array to perform computations using the weights. When the mode indicator indicates a second mode, the selection logic enables the plurality of processing cores to access the memory array through the cache control logic as a cache memory.Type: ApplicationFiled: December 1, 2016Publication date: June 7, 2018Inventors: G. GLENN HENRY, DOUGLAS R. REED
-
Publication number: 20180151009Abstract: A method and system for providing hands free operation of at least one vehicle door is provided that include determining if a portable device is located within at least one local area polling zone of a vehicle. The method and system also include determining if the portable device is stationary for a predetermined period of time within the at least one local area polling zone of the vehicle. The method and system further include supplying an amount of power to a motor associated with the at least one vehicle door to open or close the at least one vehicle door if it is determined that the portable device is stationary for the predetermined period of time.Type: ApplicationFiled: October 12, 2017Publication date: May 31, 2018Inventors: Wesley W. Kim, Brian K. Lickfelt, Douglas R. Reed, Emanuel Ulises Perez Zenteno, Tyler J. Rupp, Kentaro Yoshimura, Chyuan Y. Muh, Spencer A. Kennedy, Tomonori Watanabe
-
Patent number: 9972375Abstract: A controller for controlling a dynamic random access memory (DRAM) comprising a plurality of blocks. A block is one or more units of storage in the DRAM for which the DRAM controller can selectively enable or disable refreshing. The DRAM controller includes flags each for association with a block of the blocks of the DRAM. A sanitize controller determines a block is to be sanitized and in response sets a flag associated with the block and disables refreshing the block. In response to subsequently receiving a request to read data from a location in the block, if the flag is clear, the DRAM controller reads the location and returns data read from it. If the flag is set, the DRAM controller refrains from reading the DRAM and returns a value of zero.Type: GrantFiled: October 26, 2016Date of Patent: May 15, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.Inventors: Terry Parks, Rodney E. Hooker, Douglas R. Reed
-
Patent number: 9946651Abstract: A microprocessor comprises a cache including a tag array; a tag pipeline that arbitrates access to the tag array; and a pattern detector. The pattern detector comprises a register; a decoder that decodes transaction type identifiers of tagpipe arbs advancing through the tag pipeline; and an accumulator that accumulates into the register the transaction type identifiers of a plurality of tagpipe arbs that advance through the tag pipeline.Type: GrantFiled: December 13, 2014Date of Patent: April 17, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTDInventors: Rodney E. Hooker, Douglas R. Reed
-
Patent number: 9910785Abstract: A set associative cache memory, comprising: an array of storage elements arranged as N ways; an allocation unit that allocates the storage elements of the array in response to memory accesses that miss in the cache memory; wherein each of the memory accesses has an associated memory access type (MAT) of a plurality of predetermined MATs, wherein the MAT is received by the cache memory; a mapping that, for each MAT of the plurality of predetermined MATs, associates the MAT with a subset of one or more ways of the N ways; wherein for each memory access of the memory accesses, the allocation unit allocates into a way of the subset of one or more ways that the mapping associates with the MAT of the memory access; and wherein the mapping is dynamically updatable during operation of the cache memory.Type: GrantFiled: December 14, 2014Date of Patent: March 6, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTDInventors: Rodney E. Hooker, Douglas R. Reed, John Michael Greer, Colin Eddy
-
Patent number: 9911508Abstract: A processor includes a cache memory having a plurality of entries. Each of the entries holds data of a cache line, a state of the cache line and a tag of the cache line. The cache memory includes an engine comprising one or more finite state machines. The processor also includes an interface to a bus over which the processor writes back modified cache lines from the cache memory to the system memory in response to encountering an architectural writeback and invalidate instruction. The processor also invalidates the state of the entries of the cache memory in response to encountering the architectural writeback and invalidate instruction. In response to being instructed to perform a cache diagnostic operation, for each entry of the entries, the engine writes the state and the tag of the entry on the bus and does not invalidate the state of the entry.Type: GrantFiled: November 26, 2014Date of Patent: March 6, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTDInventors: Rodney E. Hooker, Stephan Gaskins, Douglas R. Reed, Jason Chen
-
Patent number: 9898411Abstract: A set associative cache memory, comprising: an array of storage elements arranged as M sets by N ways, each set belongs in one of L mutually exclusive groups; an allocation unit allocates the storage elements in response to memory accesses that miss in the cache; each memory access has an associated memory access type (MAT) of a plurality of predetermined MAT; a mapping, for each group of the L mutually exclusive groups: for each MAT, associates the MAT with a subset of the N ways; and for each memory access, the allocation unit allocates into a way of the subset of ways that the mapping associates with the MAT of the memory access and with one of the L mutually exclusive groups in which the selected set belongs.Type: GrantFiled: December 14, 2014Date of Patent: February 20, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.Inventors: Rodney E. Hooker, Douglas R. Reed, John Michael Greer, Colin Eddy
-
Patent number: 9892803Abstract: A processor includes a plurality of processing cores and a cache memory shared by the plurality of processing cores. The cache memory comprises a size engine that receives a respective request from each of the plurality of processing cores to perform an operation associated with the cache memory. The size engine fuses the respective requests from two or more of the plurality of processing cores into a fused request. To perform the fused request the size engine performs a single instance of the operation and notifies each of the two or more of the plurality of processing cores that its respective request has been completed when the single instance of the operation is complete.Type: GrantFiled: November 26, 2014Date of Patent: February 13, 2018Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTDInventor: Douglas R. Reed