IP Library Granted Patent US 10,782,973
Granted Patent B2
US 10,782,973 · App. 14/712,253 · Granted Sep 22, 2020

Optimizing branch re-wiring in a software instruction cache

Inventors: Carlo Bertolli (Dobbs Ferry, NY); John Kevin Patrick O'Brien (South Salem, NY); Alexandre E Eichenberger (Chappaqua, NY); Zehra Noman Sura (Yorktown Heights, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/3802G06F12/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,782,973
App. No.
14/712,253
Granted
Sep 22, 2020
Kind
B2
Abstract

A method includes a computer device receiving a branch instruction; the computer device managing two tables, where a first table relates to application blocks and a second table relates to available address slots; and the computer device calculating a target of the branch instruction using a branch-to-link register, the computer device optimizes re-wiring in a cache using the calculation and the managed two tables.

Claims (10)

1. A computer-implemented method comprising:

receiving, by a processor of a computer device, a branch instruction of an application block of instructions;

managing, by the processor, two tables, wherein

a first table comprises branch target descriptor information for a plurality of application blocks, wherein the descriptor information comprises an offset of a branch target, and

a second table comprises slot-id address information of the branch target, wherein an address of the branch target in a cache to a branch-to-link register is written; and

calculating, by the processor, a target of the branch instruction by using the branch-to-link register, wherein calculating the target of the branch instruction comprises:

determining a cache status of the application block using the first table;

in response to the cache status indicating that the application block is located in the cache, writing the address of the target of the branch to the branch-to-link register using the slot-id address information of the target of the branch accessed from the second table comprising; and

in response to the cache status indicating that the application block is not located in the cache, writing an address of a miss handler to the branch-to-link register; and

jumping to the target of the branch instruction using the brank-to-link register.

Assignments (2)
CONFIRMATORY LICENSE Recorded Jun 23, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 036009/0688 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2015
From: BERTOLLI, CARLO; O'BRIEN, JOHN KEVIN PATRICK; EICHENBERGER, ALEXANDRE E; SURA, ZEHRA NOMAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035640/0894 →
Continuity (1)
Related Publication 20160335087A1 · Nov 17, 2016