# US 5,345,571 A · System for controlling branch history table

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,345,571 A
- Document ID: US5345571A
- Status: Granted
- Kind: A
- Application number: 08/102,501
- Filed: 1993-08-05
- Granted: 1994-09-06
- Earliest claimed: 1989-07-28
- Assignees: NEC Corporation
- Inventors: Tsuyoshi Morisada
- Web page: https://patentgrep.com/patent/US5345571A

## CPC

- G06F 9/3844: {using dynamic branch prediction, e.g. using branch history tables}
- G06F 2212/655: Same page detection
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for controlling a branch history table in a data processing apparatus which has a memory for storing a branch instruction address and a branch destination address corresponding to the branch instruction in a one-to-one correspondence as the branch history table and which employs a virtual storage scheme includes a first register, a second register, a comparator, and a controller. The first register stores the branch instruction address including a virtual space number. The second register stores the branch destination address including the branch virtual space number. The comparator compares the virtual space numbers stored in the first and second registers. The controller enables storage of the branch history table in the memory when a coincidence is established as a result of comparison.

## Claims

### Claim 1

A system for controlling a branch history table in a data processing apparatus which has a memory for storing a branch instruction address and a branch destination address, corresponding to the branch instruction in a one-to-one correspondence, as said branch history table and which employs a virtual storage scheme, comprising:
a first register for storing the branch instruction address, said branch instruction address including a virtual space number which will be stored in said branch history table;
a second register for storing the branch destination address corresponding to said branch instruction address stored in said first register, said branch destination address including a branch virtual space number, which will be stored in said branch history table;
comparing means, connected to said first and second registers, for comparing the virtual space number stored in said first register and the branch virtual space number stored in said second register and outputting a compare signal to indicate a coincidence; and
control means, receiving said compare signal, for enabling storage of said branch instruction address stored in said first register and said branch destination address stored in said second register in said branch history table in said memory when a coincidence is established as a result of comparison by said comparing means.

### Claim 2 (depends on 1)

A system according to claim 1, wherein said control means allows storage of said branch instruction address stored in said first register and said branch destination address stored in said second register in said branch history table in said memory only when a write signal, being supplied to said branch history table, indicating time to store said branch instruction address and said branch destination address in said branch history table, is output from an instruction controller and said comparing means detects the coincidence.

### Claim 3 (depends on 2)

A system according to claim 2, further comprising means for supplying an instruction read inhibit signal to said instruction controller when storage of said branch instruction address stored in said first register and said branch destination address stored in said second register in said branch history table in said memory is allowed, and for disabling the instruction read inhibit signal when the storage is completed.

### Claim 4 (depends on 1)

A system according to claim 1, further comprising an instruction address comparator for determining whether the branch instruction address from said first register coincides with a previously stored branch instruction address read out from said memory when an instruction read address is supplied to said first register.

### Claim 5 (depends on 4)

A system according to claim 4, further comprising means for validating read access to said branch history table to read a predicted branch destination address, when said instruction address comparator detects a coincidence.

### Claim 6 (depends on 5)

A system according to claim 5, further comprising means for validating the branch destination address read out from said memory, as said predicted branch destination address, upon detection of the coincidence by said instruction address comparator when the instruction read address is supplied to said first register.
