Browse Prior Art Database

Single Cycle Branch Operations for a High Speed Microprocessor

IP.com Disclosure Number: IPCOM000053191D
Original Publication Date: 1981-Sep-01
Included in the Prior Art Database: 2005-Feb-12
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Chevillat, PR: AUTHOR [+4]

Abstract

In a signal processor architecture having two separate, parallel instruction streams, one for performing arithmetic and logic operations involving the ALU, and the other for load/store operations, this parallel processing capability is utilized to improve the performance for branch operations significantly.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 72% of the total text.

Page 1 of 1

Single Cycle Branch Operations for a High Speed Microprocessor

In a signal processor architecture having two separate, parallel instruction streams, one for performing arithmetic and logic operations involving the ALU, and the other for load/store operations, this parallel processing capability is utilized to improve the performance for branch operations significantly.

Branch logic circuitry is provided and used to test the result of the current ALU operation which determines whether or not the branch will be executed. This permits a complete branch operation to be programmed with a single instruction, which is then executed in a single machine cycle. General Instruction Format: Transfer Code/Operand/ Computation Code Branch Instruction (Example): BRND /LABEL /X/Y

The general format has two operation codes and an operand. One operation code is a transfer code specifying an operation such as ` `LOAD'' or ``STORE'' or ``BRANCH''. The other operation code is a computation code such as ``X-Y'' specifying the arithmetic operation ``compute difference between contents of registers RX and RY''.

In a branch instruction, the transfer code specifies a particular branch operation such as ``BRND'', which means "branch if ALU output negative''. Thus, the branch instruction shown as the example causes the following: Contents of register RY are subtracted from contents of RX, and the result is furnished at the ALU output; if the result is negative, a branch to LABEL is made wit...