Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Fast Return Branch

IP.com Disclosure Number: IPCOM000049421D
Original Publication Date: 1982-Apr-01
Included in the Prior Art Database: 2005-Feb-09
Document File: 3 page(s) / 42K

Publishing Venue

IBM

Related People

Lemaire, CA: AUTHOR [+2]

Abstract

The performance of a microprocessor executing return branch microcode control words can be improved by incorporating the return branch function into a control word having other normal functions. This is possible because only the first two clocks of the 6-clock return branch control word are unique. The next address is accessed from a local storage rather than obtained directly from the control word. The full function control words are extended when incorporating the return branch function.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

Fast Return Branch

The performance of a microprocessor executing return branch microcode control words can be improved by incorporating the return branch function into a control word having other normal functions. This is possible because only the first two clocks of the 6-clock return branch control word are unique. The next address is accessed from a local storage rather than obtained directly from the control word. The full function control words are extended when incorporating the return branch function.

When adding return branch capability to other control words it is necessary to specify the return branch and local storage or other register location to be used as a source for the address. In this particular instance. A and B branch encodes in the control word were reassigned so as to free-up a number of additional branch encodes. Further, because two local storage registers (LSRs) account for most of the usage, four spare A and B branch encodes were assigned to specify a return branch. One encode specifies the routine start address (ROUT) local storage register (LSR) and three encodes were assigned for three different versions of return branch per the LINK LSR.

By convention, the past ROUT return words always branched to the '00'B leg and the LINK return words commonly branched to the 01, 10, and 11 legs. LINK return words are usually returning from a branch and LINK (BAL) call operation whose address assignment follows the pattern in Fig. 1 where the calling BAL word, by convention, is always assigned the 00 leg with the normal return to the 01 leg. Two specific A-B branch encode pairs can be used to specify the return via ROUT (RTNRT) (00 leg) and return via LINK (RTNLK) (01 leg) in any control word having both A and B branch fields. Two additional RTNLK branch pair encodes were added to allow RTNLK (10 leg) and RTNLK (11 leg), as in Fig. 5.

In Fig. 2, the control storage next address A-branch and B-branch control fields of a control word in control storage operation register (CSOR) 50 are decoded as a pair by decode logic 60 to indicate when a return branch (RTNBR T6) is to be executed. The signal from decode logic 60 is used to force one of the two LSR addresses into the local storage address register (LAR) 70 and the access of the LINK or ROUT register of LSRs 80 begins. Simultaneously the signal from decod...