Operand Address Generation Patents (Class 711/214)
-
Patent number: 6189086Abstract: A microprocessor apparatus executes a program including an instruction which indicates an address for taking out an operand from a main memory in a predetermined addressing mode which belongs to a displacement-adding register indirect addressing mode. The microprocessor includes address generating portion for shifting by a predetermined number of bits the value of a displacement which is indicated by the instruction, adding the thus-shifted value to the value stored in a predetermined register and thus generating an effective address, when the operand of the instruction is taken out from the main memory.Type: GrantFiled: August 5, 1997Date of Patent: February 13, 2001Assignee: Ricoh Company Ltd.Inventor: Shinichi Yamaura
-
Patent number: 6182202Abstract: A method and apparatus for storing a variable length operand offset in a computer instruction is provided. An operand base is stored in a computer instruction. Also stored in the computer instruction is a variable length operand offset that is associated with the operand base. In addition, an operand offset length is stored within the computer instruction that defines the length of the variable length operand offset. Storing an operand offset length with each variable length operand offset in a computer instruction provides for the reduction of unused space.Type: GrantFiled: October 31, 1997Date of Patent: January 30, 2001Assignee: Oracle CorporationInventor: Kannan Muthukkaruppan
-
Patent number: 6173385Abstract: An address generator for a solid state disk drive device includes a hardware multiplier logic circuit dedicated to computation of the address by multiplying a lock size by a logical block number, to obtain the start address for a memory array read or write operation. The dedicated multiplier circuit advantageously provides very quick computation of these relatively large numbers, which typically involves a 32 bit by 16 bit multiplication. The multiplier includes a shift register initially holding the logical block number which is shifted a particular number of times, the number of shift pulses representing a value of the block length. The output of the shift register is the desired address.Type: GrantFiled: November 19, 1993Date of Patent: January 9, 2001Assignee: Disk Emulation Systems, Inc.Inventors: George B. Tuma, Wade B. Tuma
-
Patent number: 6154805Abstract: A realtime clock integrated circuit includes a memory (30) that has a plurality of addressable locations therein. The memory (30) has two portions, a lower portion and an upper portion. The lower portion is addressed by the seven least significant bits which are extracted from an input address bus (50). The seven address bits are latched in an address latch (54) for input to the address input of the memory (30). An eighth most significant address bit is received from an external line (64), which is attached to a separate bus on a personal computer other than that of the bus (50). The eighth most significant bit is latched in an address latch (62) for presentation to the most significant bit of the address input memory (30). When this most significant bit is high, the upper portion of the memory (30) is accessed.Type: GrantFiled: February 25, 1997Date of Patent: November 28, 2000Inventors: Jehangir Parvereshi, Frederick Gaudenz Broell
-
Patent number: 6141741Abstract: A computer system with a multiplexed address bus that is shared by both system memory and by slave devices is described. The slave devices are incorporated into an existing system memory configuration by providing a bus controller to execute a two-cycle address sequence on the multiplexed address bus. The address sequence is followed by a transfer of data. A random latency can exist between the time of receiving address information and the time of receiving data corresponding to the address information. This random latency can be exploited by the system CPU for other computational purposes. The bus controller of the system executes multiple, or pipelined, data writes to the bus before an acknowledgement for the first data write is received. In this scheme, the acknowledgement for the first data write is typically sent during the same time period that the subsequent data writes are being received. Consequently, data transfer acknowledgements overlap data writes.Type: GrantFiled: August 29, 1996Date of Patent: October 31, 2000Assignee: Sun Microsystems, Inc.Inventors: Curtis Priem, Satyanarayana Nishtala, Michael G. Lavelle, Thomas Webber, Daniel E. Lenoski, Peter A. Mehring, Guy Moffat, Christopher R. Owen
-
Patent number: 6141740Abstract: A superscalar microprocessor implements a microcode instruction unit that patches existing microcode instructions with substitute microcode instructions. A flag bit is associated with each line of microcode in the microcode instruction unit. If the flag bit is asserted, the microcode instruction unit branches to a patch microcode routine that causes a substitute microcode instruction stored in external RAM to be loaded into patch data registers. The transfer of the substitute microcode instruction to the patch data registers is accomplished using data transfer procedures. The microcode instruction unit then dispatches the substitute instructions stored in the patch data registers and the substitute instruction is executed by a functional unit in place of the existing microcode instruction.Type: GrantFiled: March 3, 1997Date of Patent: October 31, 2000Assignee: Advanced Micro Devices, Inc.Inventors: Rupaka Mahalingaiah, Paul K. Miller
-
Patent number: 6128723Abstract: A high-performance, superscalar-based computer system with out-of-order instruction execution for enhanced resource utilization and performance throughput. The computer system fetches a plurality of fixed length instructions with a specified, sequential program order (in-order). The computer system includes an instruction execution unit including a register file, a plurality of functional units, and an instruction control unit for examining the instructions and scheduling the instructions for out-of-order execution by the functional units. The register file includes a set of temporary data registers that are utilized by the instruction execution control unit to receive data results generated by the functional units. The data results of each executed instruction are stored in the temporary data registers until all prior instructions have been executed, thereby retiring the executed instructions in-order.Type: GrantFiled: May 11, 1999Date of Patent: October 3, 2000Assignee: Seiko Epson CorporationInventors: Le Trong Nguyen, Derek J. Lentz, Yoshiyuki Miyayama, Sanjiv Garg, Yasuaki Hagiwara, Johannes Wang, Te-Li Lau, Sze-Shun Wang, Quang H. Trang
-
Patent number: 6108761Abstract: A method and apparatus for reducing processor response time to selected transfer instructions in an multi-instruction processor. The response time is shortened by using a fast path to generate addresses for selected transfer instructions. In this fast path a base address, retained in a register from a previous instruction, is summed with an offset from the current instruction to obtain an absolute address for memory accessing. Before the fast path is entered determinations are made whether the instruction is a particular transfer instruction of a particular class and subclass, and whether the base address is different than the base address for the previous instruction. Even through the fast path is entered the usual absolute address generator path is also entered where the instruction is subjected to both high and low limit tests.Type: GrantFiled: February 20, 1998Date of Patent: August 22, 2000Assignee: Unisys CorporationInventors: David C. Johnson, John S. Kuslak, Gary J. Lucas
-
Patent number: 6105126Abstract: A computer processor floating point processor six cycle pipeline system where instruction text is fetched prior to the first cycle and decoded during the first cycle for the fetched particular instruction and the base (B) and index (X) register values are read for use in address generation. RXE Instructions are of the RX-type but extended by placing the extension of the operation code beyond the first four bytes of the instruction format and to assign the operation codes in such a way that the machine may determine the exact format from the first 8 bits of the operation code alone.Type: GrantFiled: April 30, 1998Date of Patent: August 15, 2000Assignee: International Business Machines CorporationInventors: Mark Anthony Check, Ronald M. Smith, Sr., John Stephen Liptay, Eric Mark Schwarz, Timothy John Slegel, Charles Franklin Webb
-
Patent number: 6065110Abstract: A method and apparatus for loading an instruction buffer of a processor capable of out-of-order instruction issue are disclosed. The processor capable of out-of-order instruction issue includes an instruction cache having multiple cache lines. The instruction cache is coupled to an instruction buffer via a multiplexor. The instruction buffer includes several slots, and these slots are sequentially filled by instructions from the instruction cache under the supervision of the multiplexor. The slot in which the first instruction resides is dictated by a fetch address. Any empty slot in the instruction buffer will be filled with instructions from a subsequent cache line of the instruction cache if the first instruction does not reside in the first slot of the instruction buffer.Type: GrantFiled: February 9, 1998Date of Patent: May 16, 2000Assignee: International Business Machines CorporationInventors: David Meltzer, Joel Abraham Silberman
-
Patent number: 6038655Abstract: A microprocessor on-board RAM provides both the usual random access by addressing and a subset of memory cells with their contents continually available on a secondary bus paralleling the data bus. This secondary bus may be used for register indirect addressing without a separate register read when the RAM subset includes the registers for register indirect addressing. The processor also has a two stage output driver for limiting maximum output current and feedback-controlled clock period partitioning.Type: GrantFiled: January 16, 1997Date of Patent: March 14, 2000Assignee: Dallas Semiconductor CorporationInventors: Wendell L. Little, Stephen N. Grider, Joseph Wayne Triece
-
Patent number: 6009493Abstract: A method and apparatus for controlling transfer of data in which a plurality of burst transfer operations starting from an arbitrary byte as a start address are performed consecutively without a high-speed adder provided in the conventional data transfer apparatus performing burst transfer. Data is transferred between memories by a plurality of consecutive burst transfer operations performed on data stored in consecutive addresses. Each of the burst transfer operations is performed on the data stored in a respective one of memory cell areas each of which corresponds to a unit of burst transfer. A first address representing an address of one of the memory cell areas storing data to be transferred is calculated. The first address is a part of a start address of a second or later burst transfer operation. A second address representing an address of one of memory cells provided in the one of the memory cell areas is calculated separately. The data transfer operation is started from the one of the memory cells.Type: GrantFiled: March 26, 1997Date of Patent: December 28, 1999Assignee: Fujitsu LimitedInventor: Hiroyuki Fujiyama
-
Patent number: 5987583Abstract: A system for allowing multiple addressing modes while maximizing a number of available opcodes and addressable registers. The system has a processor architecture scheme which allows for encoding of multiple addressing modes through use of virtual register addresses. The system has an instruction set having a plurality of instructions. Each instruction has a plurality of bits wherein none of the plurality of bits in each of the plurality of instructions are dedicated bits for implementing different addressing modes. Each of the plurality of instructions are able to implement different addressing modes by addressing the virtual register addresses in the processor architecture scheme. Since no bits are required for implementing different addressing modes, the length of the opcode field and the register address field are determined by the number of opcodes and the number of addressable registers the user wishes to implement.Type: GrantFiled: October 29, 1997Date of Patent: November 16, 1999Assignee: Microchip Technology Inc.Inventors: Joseph W. Triece, Sumit K. Mitra
-
Patent number: 5978895Abstract: Method and apparatus are disclosed for increasing the speed of mathematical operations in a processor core. The invention increases the speed of mathematical operations by delivering a first instruction indicating the total number of clock cycles a sequence of operations will occupy. On a first subsequent cycle, a different instruction is provided including operand addresses. Other instructions containing operand addresses may be provided on subsequent cycles. Alternatively, an internal pointer may be dynamically changed each cycle to provide new operand addresses. The operands are then retrieved and operated on while other operands are generated.Type: GrantFiled: April 4, 1997Date of Patent: November 2, 1999Assignee: Cirrus Logic, Inc.Inventor: Thomas M. Ogletree
-
Patent number: 5960467Abstract: An apparatus including address generation units, corresponding reservation stations, and a speculative register file is provided. Decode units provide memory operation information to the corresponding reservation stations while the associated instructions are being decoded. The speculative register file stores speculative register values corresponding to previously decoded instructions. The speculative register values are generated prior to execution of the previously decoded instructions. If the register operands included in the address operands of an instruction are stored in the speculative register file, then the memory operation may be passed through the corresponding reservation station to an address generation unit. The address generation unit generates the data address from the address operands and accesses a data cache while register operands corresponding to the instruction are requested from a register file and reorder buffer.Type: GrantFiled: August 13, 1998Date of Patent: September 28, 1999Assignee: Advanced Micro Devices, Inc.Inventors: Rupaka Mahalingaiah, Thang M. Tran
-
Patent number: 5944775Abstract: A sum-of-products arithmetic unit includes a coefficient register, a data register, a multiplier, an adder, and a data bus used for the transfer of data to and from an external unit. Provision is made to allow addresses in the data register in which sum-of-products arithmetic data is to be stored to be specified without externally specifying an individual address in the data register for each piece of arithmetic data. This provision comprises an automatic data batch storage section, automatic address setting section, or address setting section.Type: GrantFiled: July 31, 1997Date of Patent: August 31, 1999Assignee: Fujitsu LimitedInventor: Matsui Satoshi
-
Patent number: 5918252Abstract: A method and apparatus for generating a modulo address for accessing a circular buffer. The method and apparatus accept as inputs a length L of the circular buffer, a current address A of the circular buffer, and an offset M between the current address and the next address to be generated. The offset M may be positive or negative. During operation of the present invention, the current address A first is broken down into a base address B and an offset from the base address a. Then, in accordance with the length L and the offset M, the invention determines an absolute offset and a wrapped offset. One of these offsets is added to the base address B to generate a next address for the circular buffer. The determination of which offset to add to the base address B is made by performing one of two comparisons.Type: GrantFiled: November 25, 1996Date of Patent: June 29, 1999Assignee: Winbond Electronics CorporationInventors: Hwang-Chung Chen, Shih-Chang Hsu
-
Patent number: 5909588Abstract: An instruction code is received by an instruction input section 103 and then decoded by the instruction decode section 105 to generate an operand and control signals. The instruction division control section 109 generates a division control signal based on the control signals and an operand selection section 107 generates an operand having a desired bit width by using the operand from the instruction decode section 105 based on the division control signal. An arithmetic section 111 divides the operand into a desired bit width parts based on the division control signal and performs arithmetic operation. A memory access control section 115 receives calculated address and transfers this calculated address and the division control signal to a memory. The memory access control section 115 receives data from the memory and transfers the data into the arithmetic result store section 113.Type: GrantFiled: June 28, 1996Date of Patent: June 1, 1999Assignee: Kabushiki Kaisha ToshibaInventors: Hiroki Fujimura, Hiroyuki Takai, Toshiyuki Yaguchi, Seiji Koino, Mikio Takasugi, Atsushi Kunimatsu
-
Patent number: 5897667Abstract: A bridge logic takes non-burst write cycles that appear one at a time as an address followed by an associated data word on a first bus, detects consecutive addresses, and uses this information to create burst cycles on a second bus that has protocols that allow burst cycles such as a Peripheral Component Interconnect (PCI) bus.Type: GrantFiled: November 22, 1996Date of Patent: April 27, 1999Assignee: Intel CorporationInventors: Mark W. Miller, Ali S. Oztaskin
-
Patent number: 5889983Abstract: A technique for providing a compare-and-exchange (CMPXCHG) instruction which may be implemented in an instruction set requiring a limited number of source and destination operands for each instruction in the instruction set. In order to utilize an instruction to perform a read-modify-write operation three source and one destination operands are needed to supply the location of various information used in executing the instruction. Instead of providing all four operands with the instruction, the CMPXCHG instruction of the present invention utilizes an implied operation-specific register. This register is implied in the instruction when the CMPXCHG instruction is executed, so that only two source operands are needed with the CMPXCHG instruction.Type: GrantFiled: January 21, 1997Date of Patent: March 30, 1999Assignee: Intel CorporationInventors: Millind Mittal, Eval Waldman
-
Patent number: 5860155Abstract: The mechanism includes a virtual address detecting circuit for detecting the virtual address of the instruction code. When a virtual address is detected, an indicating signal is generated, which is then sent to an indirect address register to register the indirect address of the instruction code. Thereafter, an indirect address replacing circuit is used to decode and replace the indirect address registered in and sent from the indirect address register with a direct address. In the absence of the virtual address, the direct address is allowed to pass through the indirect address replacing circuit.Type: GrantFiled: September 30, 1997Date of Patent: January 12, 1999Assignee: Utek Semiconductor CorporationInventor: Kuo Cheng Yu
-
Patent number: 5848269Abstract: A branch predicting apparatus includes a prediction information buffer for supplying prediction information related to branch prediction of a branch instruction, at a same timing as fetching of an instruction fetched before the branch instruction, and a branch predicting mechanism for reading, if necessary, information required for branch prediction from a register file storing a result of operation of an instruction pipeline in accordance with the prediction information supplied from the prediction information buffer, performing branch prediction of the branch instruction by, at the latest, completion of the fetch cycle of the branch instruction, and for outputting a branch prediction signal.Type: GrantFiled: August 11, 1997Date of Patent: December 8, 1998Assignee: Mitsubishi Denki Kabushiki KaishaInventor: Tetsuya Hara
-
Patent number: 5835971Abstract: An apparatus for generating an address to increase efficiency in parallel processing in a multiprocessor system. A global address generating unit is provided within a vector unit of each of processing elements (PE) constituting a parallel computer system. An adder provided within the global address generating unit sequentially adds an increment of an address, d.sub.-- Adr.sub.-- exl, and d.sub.-- Adr.sub.-- in to an address Adr.sub.-- exl and Adr.sub.-- in, respectively. A subtracter outputs a quotient obtained by dividing d.sub.-- Adr.sub.-- exl by band width bexl as a logical PE number. Additionally, a remainder obtained as an output from a subtracter is added to Adr.sub.-- in, thereby enabling a logical in-PE address to be obtained. The logical PE number and the logical in-PE address thus obtained are converted to a real PE number and a real in-PE address. Generating a global address by hardware reduces overhead incurred by parallel operation of array data.Type: GrantFiled: December 5, 1995Date of Patent: November 10, 1998Assignee: Fujitsu LimitedInventor: Masayuki Ikeda
-
Patent number: 5835972Abstract: An improved method for performing memory writes from a processor in a personal computer system is provided whereby single writes are combined into burst writes based on detection of suitable write operations in instruction code. In a preferred embodiment, the improved method is implemented in microcode. The method includes detecting multiple suitable write operations prior to the execution, collecting the data elements in a storage unit, and writing the data elements as burst write operations. Write operations that meet specific conditions for quantity of data elements to be written and specific conditions for destination address are suitable for bursting. The improved method can be implemented in existing personal computers, thereby improving system performance without requiring new software applications or a new computer board design.Type: GrantFiled: May 28, 1996Date of Patent: November 10, 1998Assignee: Advanced Micro Devices, Inc.Inventor: Michael L. Choate
-
Patent number: 5835968Abstract: An apparatus including address generation units, corresponding reservation stations, and a speculative register file is provided. Decode units provide memory operation information to the corresponding reservation stations while the associated instructions are being decoded. The speculative register file stores speculative register values corresponding to previously decoded instructions. The speculative register values are generated prior to execution of the previously decoded instructions. If the register operands included in the address operands of an instruction are stored in the speculative register file, then the memory operation may be passed through the corresponding reservation station to an address generation unit. The address generation unit generates the data address from the address operands and accesses a data cache while register operands corresponding to the instruction are requested from a register file and reorder buffer.Type: GrantFiled: April 17, 1996Date of Patent: November 10, 1998Assignee: Advanced Micro Devices, Inc.Inventors: Rupaka Mahalingaiah, Thang M. Tran
-
Patent number: 5835744Abstract: A microprocessor is provided which is configured to locate memory and register operands regardless their use as an A operand or B operand in an instruction. Memory operands are conveyed upon a memory operand bus, and register operands are conveyed upon a register operand bus. Decoding of the source and destination status of the operands may be performed in parallel with the operand fetch. Restricting memory operands to a memory operand bus enables reduced bussing between decode units and the operand fetch unit. After fetching operand values from an operand storage, the operand fetch unit reorders the operand values according to the instruction determined by the associated decode unit. The operand values are thereby properly aligned for conveyance to the associated reservation station.Type: GrantFiled: November 20, 1995Date of Patent: November 10, 1998Assignee: Advanced Micro Devices, Inc.Inventors: Thang M. Tran, David B. Witt, William M. Johnson
-
Patent number: 5826072Abstract: Two embodiments of a digital signal processor are described. Each embodiment is configured with an instruction processing pipeline including an execute-write pipeline stage. When an instruction reaches the execute-write pipeline stage, the instruction is executed and the corresponding result is written to the specified destination. Additionally, the execute-write stage maintains a relatively short pipeline. One embodiment described herein employs an instruction set in which the destination of an instruction may be encoded within a subsequent instruction. The number of bits utilized to encode a particular instruction is reduced by the number of bits that would have specified the destination.Type: GrantFiled: November 13, 1995Date of Patent: October 20, 1998Assignee: Oasis Design, Inc.Inventors: David J. Knapp, Horace C. Ho
-
Patent number: 5813045Abstract: An apparatus is provided, including one or more early address generation units which attempt to perform data address generation upon decode of an instruction which includes a memory operand. The early address generation units may be successful at generating the data address if the logical data address is formed from a displacement only. Additionally, the early address generation unit may be successful at generating the data address if the logical data address is formed from the displacement and register operands which are available upon decode of the instruction. Data address generation latency may be shortened. If register operands are employed for forming the address and the register operands are not available, the data address may be generated in a functional unit at the execute stage.Type: GrantFiled: July 24, 1996Date of Patent: September 22, 1998Assignee: Advanced Micro Devices, Inc.Inventors: Rupaka Mahalingaiah, Thang M. Tran, David B. Witt
-
Patent number: 5809274Abstract: A data processor for executing instructions using operand data stored in a main memory includes an instruction control unit having a first associative memory storing instructions read out from the main memory. The data processor also includes an instruction controller reading out an instruction from the first associative memory when the instructioon is present in the first associative memory and reading an instruction from the main memory when the instruction is not present in the first associative memory. The controller also has as an output the instruction to be executed. An instruction execution unit has a second associative memory storing operand data read out from the main memory. An instruction executioner executes the instruction by using operand data read out from the second associative memory when the operand data is present in the second associative memory and from the main memory when the operand data is not present in the second associative memory.Type: GrantFiled: July 1, 1997Date of Patent: September 15, 1998Assignees: Hitachi, Ltd., Hitachi Micro Computer Engineering, Ltd.Inventors: Tadahiko Nishimukai, Atsushi Hasegawa, Kunio Uchiyama, Ikuya Kawasaki, Makoto Hanawa
-
Patent number: 5765215Abstract: A method and system are disclosed for managing the deallocation of a rename buffer allocated to an update instruction within a processor. The processor has a number of rename buffers for temporarily storing information associated with instructions executed by the processor, a number of registers, and a memory. According to the present invention, an update instruction is dispatched to the processor for execution. A particular rename buffer is then allocated to the update instruction. An effective address is generated for the update instruction, wherein the effective address specifies an address within the memory to be accessed by the update instruction. Next, the effective address is stored within the particular rename buffer. Prior to completion of the access to the effective address within memory, the effective address is transferred from the particular rename buffer to a particular one of the number of registers.Type: GrantFiled: August 25, 1995Date of Patent: June 9, 1998Assignees: International Business Machines Corporation, Motorola, Inc.Inventors: Muhammad Afsar, Soummya Mallick, Rajesh B. Patel
-
Patent number: 5765216Abstract: A data processor (40) includes source (60) and destination (61) address generation units (AGUs) to update source and destination addresses for efficient digital signal processing (DSP) functions. The data processor (40) includes an instruction decoder (41) which recognizes a bit movement instruction, which is frequently encountered in data interleaving operations. In response to the bit movement instruction, the instruction decoder (41) causes the source (60) and destination (61) AGUs to update their present addresses using variable offset values. The instruction decoder (41) further causes a bus controller (44) to convert these bit addresses to corresponding operand addresses and bit fields. The bus controller (44) accesses source and destination operands using the operand addresses. The instruction decoder (41) then causes an execution unit (45) to transfer a bit from the source operand indicated by the source bit field to a bit position of the destination operand indicated by the destination bit field.Type: GrantFiled: June 17, 1996Date of Patent: June 9, 1998Assignee: Motorola, Inc.Inventors: Chia-Shiann Weng, Paul M. Astrachan, Peter C. Curtis, Donald C. Anderson, Walter U. Kuenast, Kenneth C. Weng
-
Patent number: 5666510Abstract: A CPU has an upper compatibility with a low-order CPU to expand a continuously usable address space relatively. For latching data information, registers are constructed for being an address register with a bit number larger than the address bit number of a low-order CPU. The data information has its byte/word size specified by the size bit of an operation code. The utilization of the data information of a long word size is specified by either the prefix code or the operation code to which is newly added the same bit number as that of the low-order CPU. For the data information of the byte size, the high-/low-orders of the byte size register to be utilized are specified by predetermined 1 bit of a register specifying field. For the data information of the word size, the high-/low-orders of the word size register are specified by the predetermined 1 bit of that data information.Type: GrantFiled: January 11, 1996Date of Patent: September 9, 1997Assignee: Hitachi, Ltd.Inventors: Naoki Mitsuishi, Shiro Baba, Hiromi Nagayama, Tsutomu Hayashi, Yukihide Hayakawa