Instruction to compute the distance to a specified memory boundary

US9710266B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9710266-B2
Application numberUS-201213421451-A
CountryUS
Kind codeB2
Filing dateMar 15, 2012
Priority dateMar 15, 2012
Publication dateJul 18, 2017
Grant dateJul 18, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A Load Count to Block Boundary instruction is provided that provides a distance from a specified memory address to a specified memory boundary. The memory boundary is a boundary that is not to be crossed in loading data. The boundary may be specified a number of ways, including, but not limited to, a variable value in the instruction text, a fixed instruction text value encoded in the opcode, or a register based boundary; or it may be dynamically determined.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for executing a machine instruction in a central processing unit, the computer program product comprising: a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: obtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising: at least one opcode field to provide an opcode, the opcode identifying a Load Count to Block Boundary operation; a register field to be used to designate a register, the register comprising a first operand; and at least one field for indicating a location of a second operand, the second operand comprising at least a portion of a block of main memory; and executing the machine instruction, the execution comprising: determining a distance from the location of the second operand to a boundary of the block of main memory, wherein the location of the second operand is a starting address in memory from which data is to be counted, wherein the determining the distance comprises determining an ending address at which the counting is to stop, and wherein the determining the ending address comprises computing the ending address as follows: ending address=minimum of (starting address+(boundary size−(starting address AND NOT boundary mask)), starting address+register size), wherein the boundary size is the boundary, boundary mask is equal to 0−boundary size, and register size is a length of a selected register; and based on determining the distance, placing a value representing the determined distance in the first operand. 2. The computer program product of claim 1 , wherein the machine instruction further comprises a mask field, the mask field specifying the boundary. 3. The computer program product of claim 2 , wherein the block boundary is one boundary of a plurality of boundaries specifiable by the mask field. 4. The computer program product of claim 1 , wherein the executing further comprises dynamically determining the boundary, the dynamically determining using a specified type of boundary and one or more characteristics of the processor. 5. The computer program product of claim 1 , wherein the at least one field comprises a displacement field, a base field and an index field, the base field and index field for locating general registers having contents to be added to contents of the displacement field to form an address of the second operand, the address of the second operand providing the location of the second operand. 6. A computer system for executing a machine instruction in a central processing unit, the computer system comprising: a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, the method comprising: obtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising: at least one opcode field to provide an opcode, the opcode identifying a Load Count to Block Boundary operation; a register field to be used to designate a register, the register comprising a first operand; and at least one field for indicating a location of a second operand, the second operand comprising at least a portion of a block of main memory; and executing the machine instruction, the execution comprising: determining a distance from the location of the second operand to a boundary of the block of main memory, wherein the location of the second operand is a starting address in memory from which data is to be counted, wherein the determining the distance comprises determining an ending address at which the counting is to stop, and wherein the determining the ending address comprises computing the ending address as follows: ending address=minimum of (starting address+(boundary size−(starting address AND NOT boundary mask)), starting address+register size), wherein the boundary size is the boundary, boundary mask is equal to 0−boundary size, and register size is a length of a selected register; and based on determining the distance, placing a value representing the determined distance in the first operand. 7. The computer system of claim 6 , wherein the machine instruction further comprises a mask field, the mask field specifying the boundary. 8. The computer system of claim 6 , wherein the executing further comprises dynamically determining the boundary, the dynamically determining using a specified type of boundary and one or more characteristics of the processor. 9. The computer program product of claim 1 , wherein the boundary is an end boundary of the block of main memory. 10. The computer system of claim 6 , wherein the boundary is an end boundary of the block of main memory.

Assignees

Inventors

Classifications

  • to perform miscellaneous control operations, e.g. NOP · CPC title

  • Indexed addressing · CPC title

  • to perform operations on memory · CPC title

  • Operand accessing · CPC title

  • Arithmetic instructions · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9710266B2 cover?
A Load Count to Block Boundary instruction is provided that provides a distance from a specified memory address to a specified memory boundary. The memory boundary is a boundary that is not to be crossed in loading data. The boundary may be specified a number of ways, including, but not limited to, a variable value in the instruction text, a fixed instruction text value encoded in the opcode, o…
Who is the assignee on this patent?
Bradbury Jonathan D, Gschwind Michael K, Jacobi Christian, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F9/30043. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).