U.S. PATENT AND TRADEMARK OFFICE
Information Products Division
[Manual of Classification, Class Listing] [Manual of Classification, Class 712] [Classification Definitions, Class Listing] [USPTO Home Page]

U.S. Patent Classification System - Classification Definitions
as of June 30, 2000

[Explanation of Data]

Patents classified in a subclass may be accessed by either clicking on the subclass number
preceding each subclass definition or on the " [Patents] " icon, below.
( please note that patents for some subclasses may not be available )

For classification search strategies, please refer to the Classification Index Explanation of Data web page.

(definitions have been obtained from the Patents ASSIST CD-ROM which is produced by the U.S. Patent and Trademark Office Electronic Products Branch)


Class 712

ELECTRICAL COMPUTERS AND DIGITAL DATA PROCESSING SYSTEMS: PROCESSING ARCHITECTURES AND INSTRUCTION PROCESSING (E.G. PROCESSORS)


Class Definition:
This class provides, within a computer or digital data processing system, for subject matter represented by a particular arrangement that includes at least one of the following means: A) components of an individual complete processor, which may be formed on a single integrated circuit (IC); B) components of a complete digital data processing system; C) plural processors; or D) plural digital data processing systems; wherein the particular arrangement further includes at least one of the following functions:
1) processing instruction data for specific processor architectures;
2) accessing or retrieving instruction data of a fixed or variable length from
3) locating and retrieving instruction data for processing;
4) determining via internal hardware, firmware or software operations the
5) dispatching instruction data for execution (e.g., designating a register
6) dynamically testing instruction data and operands to assess conflicts
7) dynamically controlling the execution, processing, or sequencing of
Ii
(1) Note. Instruction data are defined in the glossary for this class to be data representative of an operation and identifying its operands, if any.
(2) Note. Process and apparatus for processing instruction data that are classified herein are predicated on a particular, identifiable architecture of a computer or digital data processing system that directs the nature of the processing. Multiple computer and process coordinating (e.g., task management, task control) is classified elsewhere. See SEE OR SEARCH CLASS notes below.
(3) Note. Register level transactions at the level of the arithmetic logic unit (ALU-level) or functional unit (FU-level) and logic for realizing such transactions are often a part of instruction processing, per se. General purpose, digital logic circuits, however, are classified elsewhere. See SEE OR SEARCH CLASS notes below.
(4) Note. Exceptions, interrupts, and traps classified herein recite the details of the internal operation of the hardware or the microcode of the processor with only nominal recitation of the stimulus resulting in the exception, interrupt or trap. Process and apparatus for queuing or scheduling interrupts or signals in a computer or digital data processing system are classified elsewhere. See SEE OR SEARCH CLASS notes below. Process and apparatus directed to reliability and testing utilizing halts, interrupts, and traps are also classified elsewhere. See SEE OR SEARCH CLASS notes below.
(5) Note. Virtual machine or virtual processor is classified elsewhere. See SEE OR SEARCH CLASS notes below.
(6) Note. Process and apparatus for dynamically aligning instruction data are classified herein. Process and apparatus for shifting memory spaces, such as, boundary alignment related to memory addressing and page mapping are classified elsewhere. See SEE OR SEARCH CLASS notes below. Compilers performing static alignment are classified elsewhere. See SEE OR SEARCH CLASS notes below. Process and apparatus for aligning for data entry or compacting in cache memory typically are classified elsewhere. See SEE OR SEARCH CLASS notes below.
(7) Note. Emulation for decoding instruction data for execution is classified herein; however, emulation of system component for compatibility is classified elsewhere. See SEE OR SEARCH CLASS notes below. Emulation directed to testing is also classified elsewhere. See SEE OR SEARCH CLASS notes below.
(8) Note. Process and apparatus for locating and retrieving instruction data in direct support of an instruction pipeline are classified herein; however, process and apparatus for accessing and controlling memory at other higher levels (e.g., cache memory, disk memory, and shared memory) are classified elsewhere. See SEE OR SEARCH CLASS notes below.
(9) Note. Process and apparatus nominally reciting addressing schemes and address data generation may be classified herein; however, process and apparatus for generalized address forming, addressing operands, generating addresses in response to microinstructions, and addressing in combination with particular memory systems are classified elsewhere. See SEE OR SEARCH CLASS notes below.
(10) Note. Process and apparatus for decoding instruction
data to determine their meaning for subsequent execution or decision making are classified herein; however, generic decoding circuits, methods, and programs are classified elsewhere. See SEE OR SEARCH CLASS notes below.
(11) Note. Process and apparatus for issuing or dispatching of instruction data to hardware elements internal to a processor for decoding or executing are classified herein; however, process and apparatus for dispatching in the field of process control for task management dealing with process scheduling, load balancing, etc., are classified elsewhere. See SEE OR SEARCH CLASS notes below.
(12) Note. Process and apparatus for dynamically controlling the issuance or execution of instruction data based on analysis of hardware-resource availability, hardware-resource utilization, and data dependency are classified herein; however, processes and apparatus for task resource management are classified elsewhere. See SEE OR SEARCH CLASS notes below. Dependency checking performed by a compiler is classified elsewhere. See SEE OR SEARCH CLASS notes below. Process and apparatus for enhancing the reliability and availability of functional units that include determining a fault condition are classified elsewhere. See SEE OR SEARCH CLASS notes below.
(13) Note. Process and apparatus for dealing with resource management problems within a stream of instruction data, generally at the ALU/functional-unit level are classified herein; however, process and apparatus for resource management in a manufacturing environment are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(14) Note. Process and apparatus for reserving the use of functional units at the instruction level of a computer or digital data processing system are classified herein; however, processes and apparatus for reserving seats for travel, entertainment, etc. are classified elsewhere. See SEE OR SEARCH CLASS notes below.
(15) Note. Process and apparatus utilizing hardware or microcode for processing and executing instruction data are classified herein; however, instruction processing being performed by a compiler, by an interpreter, or by an operating system is classified elsewhere. See SEE OR SEARCH CLASS notes below. Process and apparatus for high-level processing of input/output commands are classified elsewhere. See SEE OR SEARCH CLASS notes below. Process and apparatus for the sequencing common in computerized numerical controllers (CNC), industrial controllers, computer driven machining, etc., is classified elsewhere. See SEE OR SEARCH CLASS notes below.
(16) Note. Hardwired sequencers are also often referred to as sequential state machines in the art. They are appropriately classified herein when they are performing control or sequencing of instruction data within a
processor.
(17) Note. Process and apparatus for graphic command processing are classified elsewhere. See SEE OR SEARCH CLASS notes below.
Iii

SEE OR SEARCH CLASS:
326, Electronic Digital Logic Circuitry, appropriate subclasses for generic digital logic devices, circuitry, and subcombinations thereof, wherein nonarithmetical operations are performed upon discrete electrical signals representing a value normally described by numerical digits, particularly 37 for programmable circuits such as Programmable Logic Arrays (PLA) and subclasses 105+ for decoding circuitry.
340, Communications: Electrical, 825 for controlling one or more devices to obtain a plurality of results by transmission of a designated one of plural distinctive control signals over a smaller number of communication lines or channels, particularly subclass 825.02 for tree or cascade selective communication, subclasses 825.03+ for channel selection, subclass 825.05 for a plurality of controlled devices connected by a communication line in a closed series configuration, 825.06+ for communication systems where status of a controlled device is communicated, subclasses 825.2+ for synchronizing selective communication systems, subclasses 825.5+ for lockout or priority in selective communication systems, subclasses 825.52+ for addressing in selective communication system, and subclasses 825.57+ for pulse responsive actuation in selective communication system.
345, Computer Graphics Processing, Operator Interface Processing, And Selective Visual Display Systems, particularly 502 for a computer graphic processor system which includes plural graphics processors, subclass 522 for graphic command processing
364, Electrical Computers And Data Processing System, 130 for data processing control system, subclasses 400+ for specific application.
370, Multiplex Communications, appropriate subclasses for the simultaneous transmission of two or more signals over a common medium, particularly 254 for network configuration determination, subclasses 351+ for path finding or routing including packet switching, circuit switching, ATM switching, and subclasses 465+ for adaptive communication protocol.
377, Electrical Pulse Counters, Pulse Dividers, and Shift Registers: Circuits and Systems, various subclasses for generic circuits for pulse counting.
380, Cryptography, 3 for stored information access or copy prevention (e.g., software program protection or computer
virus detection) in combination with data encryption, subclasses 23+ for electrical signal modification (e.g., scrambling) with user or record actuated authentication in an electronic fund transfer or in a computer, subclass 48 for electronic signal modification with synchronization, subclasses 49+ electronic signal modification with digital signal handling (e.g., digital control, digital computer communication).
381, Electrical Audio Signal Processing Systems and Devices, various subclasses for wired one-way audio systems, per se.
395, Information Processing System Organization, subclass 500 for simulation or emulation of computer components, subclass 395/527 for emulation of system components for compatibility, subclasses 395/701+ for a software development tool, particularly, subclasses 395/705+ for compilers and compiler-related dependency checking.
701, Data Processing: Vehicles, Navigation, and Relative Location, 1 for vehicle control, guidance, operation, or indication, subclasses 200+ for navigation, and subclasses 300+ for relative location determination.
702, Data Processing: Measuring, Calibrating or Testing, appropriate subclasses for testing measuring or calibrating, particularly subclass 186 for computer and peripheral benchmarking.
704, Data Processing: Speech Signal Processing, Linguistics, Language Translation, and Audio Compression/ Decompression, 1 for linguistics; subclasses 200+ for speech audio processing, subclasses 500 through 504 for audio signal time or bandwidth compression or expansion.
705, Data Processing: Financial, Business Practice, Management, or Cost/Price Determination, particularly 5 for reservation, check-in, and booking for reserving space and subclasses 8+ for scheduling and allocating resources for administrative functions.
706, Data Processing: Artificial Intelligence, 1 for fuzzy logic hardware; subclass 10 for plural processing intelligence systems, subclass 11 for artificial intelligence system having particular user interface; subclasses 12+ for machine learning system, subclass 14 for adaptive system; subclasses 15+ for neural network; and subclasses 45+ for knowledge processing system.
707, Data Processing: Data Base and File Management, Data Structures, or Document Processing, particularly 1 database or file accessing, subclasses 100+ for database scheme or structure, subclasses 200+ for file or database management, and subclasses 500+ for document processing.
708, Electrical Computers: Arithmetic Processing and Calculating, 1 for electrical hybrid calculating computer,
subclasses 100+ for electrical digital calculating computer, and subclasses 800+ for electrical analog calculating computer.
709, Electrical Computers and Digital Processing Systems: Multiple Computer and Process Coordinating; 1 for task management or task control, particularly subclass 7 for dependency checking amongst processes and tasks and subclasses 200+ for transferring data between plural, spatially distributed computers or digital data processing systems.
710, Electrical Computers and Digital Processing Systems: Input/Output, appropriate subclasses for interconnecting or transferring data among processors, memories, and peripherals for of computers or digital data processing systems particularly 260 for interrupt processing.
711, Electrical Computers and Digital Processing Systems: Memory, 1 for addressing in combination with particular memory systems; particularly subclass 2 for addressing extended or expanded memory; subclass 5 for addressing multiple memory modules; subclasses 101+ for accessing and control of specific memory compositions; subclasses 118+ for cache memory; subclasses 147+ for shared memory access and control; subclass 159 for memory entry replacement strategies; subclass 201 for address generation directed to slip control, misalignment, and boundary alignment; subclass 209 for page address generation processing; and subclass 212 for address generation by varying bit-length or size; subclass 214 for operand address generation; and subclass 215 for address formation in response to a microinstruction;
713, Electrical Computers And Digital Processing Systems, 1 for computer initialization or configuration, subclasses 100 for reconfiguration, subclasses 200+ for security, subclasses 300+ for computer power control, and subclasses 400-601 for synchronization or clock control in a digital data processing.
714, Electrical Computers and Digital Processing Systems: Error Detection/ Correction and Fault Detection /Recovery, particularly subclass 707 for synchronization control using an error rate; subclass 731 for a reference timing function or a clock pulse generator in a scan path testing system; subclass 744 for clock or synchronization in digital logic testing using a test pattern generator; and subclass 798 for error detection for synchronization control.
Iv
BUS
A conductor used for transferring data, signals, or power.
COMPUTER
A machine that inputs data, processes data, stores data, and outputs data.
DATA
Representation of information in a coded manner suitable for communication, interpretation, or processing.
Address data-Data that represent or identify a source or destination.
Instruction data-Data that represent an operation and identify its operands, if any.
Status data-Data that represent conditions of data, digital data processing systems, computers, peripherals, memory, etc.
User data-Data other than address data, instruction data, or status data.
DATA PROCESSING
See PROCESSING, below.
DIGITAL DATA PROCESSING SYSTEM
An arrangement of processor(s) in combination with either memory or peripherals, or both, performing data processing.
ERROR
Manifestation of a fault as an undesired event that occurs when actual behavior deviates from the behavior that is required by initial specifications.
FAILURE
Manifestation of an error as a nonperformance of an expected system service as required by the initial specifications.
FAULT
A flaw in a functional unit (hardware or software).
INFORMATION
Meaning that a human being assigns to data by means of the conventions applied to that data.
MEMORY
A functional unit to which data can be stored and from which data can be retrieved.
PERIPHERAL
A functional unit that transmits data to or receives data from a computer to which it is coupled.
PROCESSING
Methods or apparatus performing systematic operations upon data or information exemplified by functions such as data or information transferring, merging, sorting, and computing (i.e., arithmetic operations or logical operations).
(1) Note.In this class, the glossary term data is used to modify processing in the term data processing; whereas the term digital data processing system refers to a machine performing data processing.
(2) Note.In an effort to avoid redundant constructions, in this class, where appropriate, the term address data processing is used in place of address data data processing.
PROCESSOR
A functional unit that interprets and executes instruction data.
RECOVERY
Responding to a fault in a system by either returning a system to a previous level of correct operation, achieving a degraded level of correct operation, or safely shutting down the system.
SECURITY
Extent of protection for system hardware, software, or data from maliciously caused destruction, unauthorized modification, or unauthorized disclosure.


SUBCLASSES


Subclass: 1 [Patents]

PROCESSING ARCHITECTURE:
This subclass is indented under the class definition. Subject matter comprising a particular arrangement of (a) elements of an individual complete processor which may be formed on a single integrated chip, (b) components of a complete digital data processing system, (c) plural processing elements, (d) plural processors, or (e) plural digital data processing systems where processing is performed on a generic instruction or process.
(1) Note. This subclass and its indents require more than nominal recitation of the architecture of processing elements or operations.
(2) Note. Implementation of a generic instruction within a particular instruction set is classified here.
(3) Note. Architecture based instruction processing including specific instruction implementation, such as, branching, store multiple, etc. are classified elsewhere. See SEE OR SEARCH THIS CLASS, SUBCLASS notes below.

SEE OR SEARCH THIS CLASS, SUBCLASS:
200 for architecture based instruction processing including specific instruction implementation, such as, branching, store multiple, etc.

SEE OR SEARCH CLASS:
340, Communications: Electrical, 825 for controlling one or more devices to obtain a plurality of results by transmission of a designated one of plural distinctive control signals over a smaller number of communication lines or channels, particularly subclass 825.02 for tree or cascade selective communication, subclasses 825.03+ for channel selection, 825.06+ for communication systems where status of a controlled device is communicated, subclasses 825.2+ for synchronizing selective communication systems, subclasses 825.5+ for lockout or priority in selective communication systems, subclasses 825.52+ for addressing in selective communication, and subclasses 825.57+ for pulse responsive actuation in selective communication.
345, Computer Graphics Processing, Operator Interface Processing, And Selective Visual Display Systems, 502, for a computer graphic processor system which includes plural graphics processors.
370, Multiplex Communications, for the simultaneous transmission of two or more signals over a common medium where the transmitted data is generic to the transmission activity, particularly 351 for time division multiplex (TDM) switching, subclasses 475 for asynchronous TDM communications including addressing, and subclasses 498+ for time division bus transmission.
395, Information Processing System Organization, 82 for plural processor robot control., subclass 706 for program code translating or compiling for multiprocessor system.
708, Electrical Computers: Arithmetic Processing and Calculating, 100 and particularly subclasses 200+ for an electric digital calculating computer which may utilize processor structure similar to that contained herein.
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 200 for data transfer between plural spatially distributed computers or digital data processing systems.
710, Electrical Computers and Digital Processing Systems: Input/Output, 100 for particular intrasystem connecting (e.g., bus transaction processing) not included in a particular processing architecture, and subclasses 260+ for general interrupt processing.

Subclass: 2 [Patents]

Vector processor:
This subclass is indented under subclass 1. Subject matter including specificadaptation of the architecture or structure which operates on one-dimensional data arrays.

SEE OR SEARCH THIS CLASS, SUBCLASS:
10 for array processor architecture, in general.

SEE OR SEARCH CLASS:
708, Electrical Computers: Arithmetic Processing and Calculating, 100 and particularly subclasses 200+ for an electric digital calculating computer which may utilize processor structure similar to that contained herein.

Subclass: 3 [Patents]

Scalar/vector processor interface:
This subclass is indented under subclass 2. Subject matter which includes an intermediate structure linking a scalar processor with a vector processor.

Subclass: 4 [Patents]

Distributing of vector data to vector registers:
This subclass is indented under subclass 2. Subject matter involving structure providing vector data transfer to vector registers.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 200 for data transfer between plural complete spatially distributed computers or digital data processing systems.

Subclass: 5 [Patents]

Masking to control an access to data in vector register:
This subclass is indented under subclass 4. Subject matter which is directed to specific structure or operation to screen out access to a particular location in a vector register.

Subclass: 6 [Patents]

Controlling access to external vector data:
This subclass is indented under subclass 2. Subject matter wherein access to external vector processing data is regulated.

Subclass: 7 [Patents]

Vector processor operation:
This subclass is indented under subclass 2. Subject matter wherein functioning of the vector processor is specified.

Subclass: 8 [Patents]

Sequential:
This subclass is indented under subclass 7. Subject matter wherein a vector processing is performed in program order.

Subclass: 9 [Patents]

Concurrent:
This subclass is indented under subclass 7. Subject matter wherein multiple vector instructions are issued simultaneously.

Subclass: 10 [Patents]

Array processor:
This subclass is indented under subclass 1. Subject matter comprising four or more identical processing elements (e.g., cells) joined in a two-dimensional or higher arrangement.

SEE OR SEARCH CLASS:
708, Electrical Computers: Arithmetic Processing and Calculating, 100 and particularly subclasses 200+ for an electric digital calculating computer which may utilize processor structure similar to that contained herein.

Subclass: 11 [Patents]

Array processor element interconnection:
This subclass is indented under subclass 10. Subject matter including details of a structure which mutually joins the identical processing elements.

SEE OR SEARCH CLASS:
710, Electrical Computers and Digital Processing Systems-Input/Output, 100 for particular intrasystem connecting (e.g., bus transaction processing) not included in a particular array processing architecture.

Subclass: 12 [Patents]

Cube or hypercube:
This subclass is indented under subclass 11. Subject matter wherein the identical processing elements are joined in a 3-or - greater dimensional pattern.

Subclass: 13 [Patents]

Partitioning:
This subclass is indented under subclass 11. Subject matter which controls the structure joining the processing elements by partitioning the array into groups of processing elements.

SEE OR SEARCH CLASS:
711, Electrical Computers and Digital Processing Systems: Memory, subclass 129 for partitioned cache accessing and control.

Subclass: 14 [Patents]

Processing element memory:
This subclass is indented under subclass 11. Subject matter which controls the structure joining the memory within an individual array processor element or associated with an individual array processor element.

Subclass: 15 [Patents]

Reconfiguring:
This subclass is indented under subclass 11. Subject matter wherein an existing structure joining the array processing elements is modified.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 221 for reconfiguring in a multi-computer data transfer network.
710, Electrical Computers and Digital Processing Systems: Input/Output, subclass 104 for intra-system configuring not included in a particular processing architecture.
713, Electrical Computers and Digital Processing Systems: Support, subclass 100 for reconfiguring (e.g., changing system setting) in a digital data processing system.

Subclass: 16 [Patents]

Array processor operation:
This subclass is indented under subclass 10. Subject matter wherein a specific function or process performed by the array processor is specified.

Subclass: 17 [Patents]

Application specific:
This subclass is indented under subclass 16. Subject matter wherein overall operation or process of the array processor is directed toward a particular purpose.
(1) Note. Included here, for example, is generic pattern matching not elsewhere provided for.
(2) Note. Pattern matching for image processing is classified elsewhere.

SEE OR SEARCH CLASS:
382, Image Analysis, appropriate subclasses and particularly 181 for image analysis pattern recognition.

Subclass: 18 [Patents]

Data flow array processor:
This subclass is indented under subclass 16. Subject matter wherein the array processor performs a calculation when all required data is present (data-driven).
(1) Note. This would include a wavefront array processor.

SEE OR SEARCH THIS CLASS, SUBCLASS:
25 for a generic data flow processor.
201 for architecture based data flow instruction processing including specific instruction implementation.

Subclass: 19 [Patents]

Systolic array processor:
This subclass is indented under subclass 16. Subject matter wherein data moves between the identical processing elements in accordance with a global reference timing signal.

Subclass: 20 [Patents]

Multimode (e.g., MIMD to SIMD, etc.):
This subclass is indented under subclass 16. Subject matter wherein the array processor may switch between plural operating modes.
(1) Note. This might include, for example, an initial MIMD mode which subsequently changes to an SIMD mode.

Subclass: 21 [Patents]

Multiple instruction, multiple data (MIMD):
This subclass is indented under subclass 16. Subject matter wherein the array processor operates in a multiple instruction, multiple data mode.

Subclass: 22 [Patents]

SIMD:
This subclass is indented under subclass 16. Subject matter wherein the array processor operates in a single instruction, multiple data mode.

Subclass: 23 [Patents]

Superscalar:
This subclass is indented under subclass 1. Subject matter comprising an architecture which determines a group of upcoming instructions which do not mutually interfere with each other and issues or dispatches this group simultaneously.
(1) Note. Excluded herein is specific instruction implementation such as branching, store multiple, etc. See SEE OR SEARCH THIS CLASS, SUBCLASS: notes below.
(2) Note. Implementation of a generic instruction within a particular instruction set is classified here.

SEE OR SEARCH THIS CLASS, SUBCLASS:
215 for simultaneous issuance of multiple instructions including specific instruction implementation.

Subclass: 24 [Patents]

Long instruction word:
This subclass is indented under subclass 1. Subject matter comprising an architecture which includes compiler scheduled issuing of multiple opcodes per instruction.
(1) Note. Excluded herein is the specifics of the compiler.

SEE OR SEARCH THIS CLASS, SUBCLASS:
215 for simultaneous issuance of multiple instructions including specific instruction

SEE OR SEARCH CLASS:
395, Information Processing System Organization, 705 for a compiler in a software development system.

Subclass: 25 [Patents]

Data driven or demand driven processor:
This subclass is indented under subclass 1. Subject matter wherein a plural processor structure performs a calculation when all required data is present (data-driven) or when other processors request a calculation result (demand-driven).

SEE OR SEARCH THIS CLASS, SUBCLASS:
18 for data flow array processor.
201 for architecture based data flow instruction processing including specific instruction implementation.

Subclass: 26 [Patents]

Detection/pairing based on destination, ID tag, or data:
This subclass is indented under subclass 25. Subject matter which is directed to specific structure or operation to perform detecting or pairing dependent upon intended destination, a particular identification tag or data itself.

Subclass: 27 [Patents]

Particular data driven memory structure:
This subclass is indented under subclass 25. Subject matter including a data driven interface with specific memory structure to enhance the data flow capability of the processor.

SEE OR SEARCH CLASS:
711, Electrical Computers and Digital Processing Systems: Memory, 100 for particular storage accessing and control.

Subclass: 28 [Patents]

Distributed processing system:
This subclass is indented under subclass 1. Subject matter including a particular architecture having two or more physically separate processors performing different tasks with shared resources such that their combined work contribute to a common goal.
(1) Note. Subject matter including a distributed processing system having significant multicomputer data transfer is classified elsewhere. See SEE OR SEARCH CLASS below.
(2) Note. Subject matter including a computer task management or control system having significant process scheduling is classified elsewhere. See SEE OR SEARCH CLASS below.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 3 for process scheduling in a computer task management or control system, subclass 201 for distributed data processing having significant multicomputer data transfer.

Subclass: 29 [Patents]

Interface:
This subclass is indented under subclass 28. Subject matter wherein details of an interconnection which mutually joins the processors are provided.

Subclass: 30 [Patents]

Operation:
This subclass is indented under subclass 28. Subject matter wherein functioning of the processors is specified.

Subclass: 31 [Patents]

Master/slave:
This subclass is indented under subclass 30. Subject matter wherein the physically separate processors include a primary processor (master) controlling the operation of a secondary processor (slave).
(1) Note. Controlling of data transfer between master/slave processors is classified elsewhere.

SEE OR SEARCH CLASS:
345, Computer Graphic Processing, Operator Interface Processing, and Selective Visual Display Systems, subclass 504 for a computer graphic processing system including master/slave processors.
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 208 for specific data transferring in a master/slave computer.
710, Electrical Computers and Digital Processing Systems-Input/Output, subclass 110 for bus master/slave controlling.

Subclass: 32 [Patents]

Microprocessor or multichip or multimodule processor having sequential program control:
This subclass is indented under subclass 1. Subject matter comprising a CPU on a single integrated circuit chip or on plural integrated chips or in plural discrete units which provide serial processing.

SEE OR SEARCH CLASS:
345, Computer Graphic Processing, Operator Interface Processing, and Selective Visual Display Systems, subclass 519 for a computer graphic processing system on integrated chip.
708, Electrical Computers: Arithmetic Processing and Calculating, 100 and particularly subclasses 200+ for an electric digital calculating computer which may utilize processor structure similar to that contained herein.

Subclass: 33 [Patents]

Having multiple internal buses:
This subclass is indented under subclass 32. Subject matter comprising an internal structure having plural buses.

Subclass: 34 [Patents]

Including coprocessor:
This subclass is indented under subclass 32. Subject matter including an auxiliary processor which provides a supplemental function for or other assistance to a primary processor.
(1) Note. Details of the application or algorithm performed on the coprocessor are classified elsewhere. See, for example, SEE OR SEARCH CLASS below.

SEE OR SEARCH CLASS:
345, Computer Graphic Processing, Operator Interface Processing, and Selective Visual Display Systems, subclass 503 for a computer graphic processing system which includes a coprocessor.

Subclass: 35 [Patents]

Digital Signal Processor:
This subclass is indented under subclass 34. Subject matter wherein the auxiliary processor is particularly configured to perform high speed data manipulations.
(1) Note. Details of the application or algorithm performed on the Digital Signal Processor are classified elsewhere. See, for example, SEE OR SEARCH CLASS below.

SEE OR SEARCH CLASS:
708, Electrical Computers: Arithmetic Processing and Calculating, subclasses 100+ for an electric digital calculating computer.

Subclass: 36 [Patents]

Application specific:
This subclass is indented under subclass 32. Subject matter wherein the processor is generically adapted for a particular purpose.
(1) Note. Details of the application or algorithm performed on the processor are classified elsewhere.

Subclass: 37 [Patents]

Programmable (e.g., EPROM):
This subclass is indented under subclass 32. Subject matter wherein operation of the processor may be externally modifiable.

SEE OR SEARCH CLASS:
713, Electrical Computers and Digital Processing Systems: Support, 1 for digital data processing system initialization and configuration.

Subclass: 38 [Patents]

Offchip interface:
This subclass is indented under subclass 32. Subject matter wherein particular internal structure of the processor is provided which allows interfacing from the processor to an external device.

SEE OR SEARCH CLASS:
710, Electrical Computers and Digital Processing Systems: Input/Output, subclass 1 for input/output data processing, subclass 129 for interface architecture of an intrasystem connection.

Subclass: 39 [Patents]

Externally controlled internal mode switching via pin:
This subclass is indented under subclass 38. Subject matter wherein an internal processor mode may be changed by an external means connected to the processor by an electrical contact.

Subclass: 40 [Patents]

External sync or interrupt signal:
This subclass is indented under subclass 38. Subject matter wherein the processor receives a synchronization or interrupt signal from an outside source.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, subclass 400 synchronization of plural processors.
710, Electrical Computers and Digital Processing Systems: Input/Output, 260 for interrupt processing in general.

Subclass: 41 [Patents]

RISC:
This subclass is indented under subclass 32. Subject matter wherein the set of processing instructions available is relatively small and rapidly executable (i.e., Reduced Instruction Set Computing) and a new instruction is fetched
during the time when a previous instruction is executed.

Subclass: 42 [Patents]

Operation:
This subclass is indented under subclass 32. Subject matter wherein specific functioning of the processor is recited.

Subclass: 43 [Patents]

Mode switching:
This subclass is indented under subclass 42. Subject matter wherein an ability to change between multiple processor operating modes is recited.

Subclass: 200 [Patents]

ARCHITECTURE BASED INSTRUCTION PROCESSING:
This subclass is indented under the class definition. Subject matter including instruction data processing for particular processor architectures.
(1) Note. Instruction data are defined in the glossary for this class to be data representative of an operation and identifying its operands, if any.
(2) Note. Instruction processing classified here is predicated on a particular identifiable digital data processing system architecture directing the nature of the instruction processing. Processing control, however, is classified elsewhere. See SEARCH THIS CLASS,SUBCLASS below.
(3) Note. This subclass is for instruction processing forced in a certain direction by an overall processing architecture. Digital data processing system architectures and computer architectures, per se, are classified elsewhere. See SEE OR SEARCH THIS CLASS, SUBCLASS: below.
(4) Note. Register level transactions at the arithmetic logic unit level (ALU-level) or functional unit level (FU-level) and logic for realizing such transactions are often a part of instruction processing, per se. However, general purpose digital logic circuits are classified elsewhere. See SEE OR SEARCH CLASS below.
(5) Note. This subclass represents a "special" category of instruction processing dictated by an architectural construct. Instruction data processing in support of data
transferring including special software interrupts, traps, and halts; non-logic and non-arithmetic functions are classified elsewhere. See SEE OR SEARCH THIS CLASS, SUBCLASS: below.

SEE OR SEARCH THIS CLASS, SUBCLASS:
1 for digital data processing system architectures and computer architectures per se.
25 for instruction data processing in support of data transferring.
220 for processing control, per se.
227 for special instruction data processing in support of testing, debugging, or emulation.
244 for software interrupts and traps.

SEE OR SEARCH CLASS:
326, Electronic Digital Logic Circuitry, appropriate subclasses for general purpose digital logic circuitry including programmable logic arrays (PLA).
395, Information Processing System Organization, 701 for software development environments and tools, per se.
708, Electrical Computers: Arithmetic Processing and Calculating, 100 for details of logic circuits for performing arithmetic operations.
714, Electrical Computers and Digital Processing Systems: Error Detection/Correction and Fault Detection/Recovery, subclass 34 for fault locating using a halt, subclass 35 for fault locating using a substituted or added instruction.

Subclass: 201 [Patents]

Data flow based system:
This subclass is indented under subclass 200. Subject matter wherein initiation of instruction execution is driven by availability of data required by the instruction.
(1) Note. This subclass is for data flow computing which generally utilizes tokens for asynchronous passing of instructions or data for execution by the appropriate unit.

SEE OR SEARCH THIS CLASS, SUBCLASS:
18 for data flow array processor.
25 for data flow computer architectures, per se.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 200 for use of tokens in certain multi-computer arrangements.

Subclass: 202 [Patents]

Stack based computer:
This subclass is indented under subclass 200. Subject matter wherein the architecture's processor is based upon a stack model and all instruction data processing occurs through use of the stack.
(1) Note. The stack based computer includes, for example, HP 3000 computer.

SEE OR SEARCH THIS CLASS, SUBCLASS:
228 for context preservation.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or

Subclass: 203 [Patents]

Multiprocessor instruction:
This subclass is indented under subclass 200. Subject matter including processing of an instruction specific for a plural processor computer architecture.

SEE OR SEARCH THIS CLASS, SUBCLASS:
28 for a distributed processing system.
32 for microprocessor or multichip or multimodule processor having sequential

Subclass: 204 [Patents]

INSTRUCTION ALIGNMENT:
This subclass is indented under the class definition.
Subject matter including accessing and retrieval of instruction data of a fixed or variable length from a memory or buffer and for shifting of such instruction data to align it with a physical memory or buffer boundary.
(1) Note. This subclass is for alignment of instruction data. Subject matter directed to the big endian/ little endian problem is properly classified here. Generic byte word order rearranging is classified elsewhere. See SEE OR SEARCH THIS CLASS, SUBCLASS below.
(2) Note. This subclass accepts shifting instruction data for alignment purposes. Shifting of memory spaces, such as boundary alignment related to memory addressing and page mapping, is classified elsewhere. See SEE OR SEARCH CLASS below.
(3) Note. Emulation techniques often rely on instruction alignment as part of an overall combination. This subclass accepts only nominal recitations to emulation in combination with instruction aligning. Emulation systems, per se, are classified elsewhere. See SEE OR SEARCH CLASS below.
(4) Note. This subclass accepts only nominal recitations to digital data processing system architectures and computer architectures, per se, where realignment of an instruction is occurring. Architecture-based instruction data processing in, for example, a superscalar processor is classified elsewhere. See SEE OR SEARCH THIS CLASS, SUBCLASS below.
(5) Note. Dynamic aligning of instruction data is proper for this subclass. Compilers performing "static" alignment functions are classified with software development tools. See SEE OR SEARCH CLASS below.
(6) Note. This subclass is directed to aligning instruction data. Aligning other data in, for example, cache memory is typically found elsewhere. See SEE OR SEARCH CLASS below.

SEE OR SEARCH THIS CLASS, SUBCLASS:
23 for superscalar processor.
200 for architecture based instruction data processing.
210 for variable length instruction data decoding.
300 for generic byte-word order rearranging, bit-field insertion and extraction, and string length and sequence detecting.

SEE OR SEARCH CLASS:
395, Information Processing System Organization, subclass 500 for compatibility, simulation, emulation of computer system components, and subclasses 705+ for compilers, per se.
711, Electrical Computers and Digital Processing Systems: Memory, subclass 2 for addressing extended or expanded memory, subclass 5 for addressing multiple memory modules, subclass 118 for cache memory accessing and control, per se, subclass 133 for cache memory entry replacement strategies, subclass 201 for address generation directed to slip control, misaligning and boundary alignment, subclass 209 for page address generation processing, subclass 212 for address generation by varying bit-length or size.

Subclass: 205 [Patents]

INSTRUCTION FETCHING:
This subclass is indented under the class definition. Subject matter directed to locating and retrieval of instruction data for processing.
(1) Note. This subclass is concerned with locating and retrieving instruction data indirect support of an instruction pipeline. Memory accessing and control at other higher levels, such as, cache memory, disk memory and shared memory are classified elsewhere. See SEE OR SEARCH CLASS below.
(2) Note. This subclass only accepts nominal recitation of addressing schemes and address data generation. Address formation, addressing of operands, and address generation in response to a microinstruction is elsewhere. See SEE OR SEARCH CLASS below.
(3) Note. This subclass only accepts nominal recitation of addressing schemes and address data generation. Generalized address formation and addressing in combination with particular memory systems is classified elsewhere. See SEE OR SEARCH CLASS below.

SEE OR SEARCH CLASS:
710, Electrical Computers and Digital Processing Systems: Input/Output, 5 for Input/Output data processing macro language and command processing
711, Electrical Computers and Digital Processing Systems: Memory, 1 for addressing combined with specific memory configuration or system, subclasses 101+ for accessing and control of specific memory compositions, subclasses 118+ for cache memory, and subclasses 147+ for shared memory access and control, subclass 214 for operand address generation, and subclass 215 for address formation in response to a microinstruction.

Subclass: 206 [Patents]

Of multiple instructions simultaneously:
This subclass is indented under subclass 205. Subject matter for causing a fetch of a plurality of instruction data to occur at the same time.

Subclass: 207 [Patents]

Prefetching:
This subclass is indented under subclass 205. Subject matter including fetching of a given instruction or variable before it is utilized.
(1) Note. This subclass provides for advance fetching of instruction data. pipelining is classified elsewhere. Memory access
(2) Note. This subclass is for the fetching of instruction data. Generating of addresses for implementing a prefetch is classified elsewhere.
(3) Note. Prefetching for branch target addressing is classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
237 for branch target instruction addressing.

SEE OR SEARCH CLASS:
711, Electrical Computers and Digital Processing Systems: Memory, subclass 169 for memory access pipelining, and subclass 213 for formation or generation of prefetch addresses.

Subclass: 208 [Patents]

INSTRUCTION DECODING (E.G., BY MICROINSTRUCTION, START ADDRESS GENERATOR, HARDWIRED):
This subclass is indented under the class definition. Subject matter including an internal hardware, firmware, or software operation by which a computer system determines the meaning of an instruction's operation code, control bits, and operands.
(1) Note. This subclass is for decoding instruction data to determine its meaning for subsequent execution or decision making. Generic decoding circuits and methods and decoder circuits and methods are classified elsewhere. See SEE OR
SEARCH CLASS below.

SEE OR SEARCH CLASS:
326, Electronic Digital Logic Circuitry, 105 for decoding circuitry.

Subclass: 209 [Patents]

Decoding instruction to accommodate plural instruction interpretations (e.g., different dialects, languages, emulation, etc.):
This subclass is indented under subclass 208. Subject matter including means or steps for decoding a same instruction identifier to mean a different operation depending on a particular state or condition within the system.
(1) Note. This subclass is for instruction decoding for plural interpretations. Emulation, per se, is classified elsewhere. See SEE OR SEARCH CLASS note below.

SEE OR SEARCH CLASS:
395, Information Processing System Organization, subclass 500 for compatibility, simulation, emulation of computer system components, subclass 527 for emulation of system component for compatibility, subclasses 705+ for compilers, per se.
704, Data Processing: Speech Signal Processing, Linguistics, Language Translation, and Audio Compression/Decompression, 2 for translation machine, subclass 9 for natural language translation.

Subclass: 210 [Patents]

Decoding instruction to accommodate variable length instruction or operand:
This subclass is indented under subclass 208. Subject matter including means or steps for decoding instruction data whose length varies.
(1) Note. This subclass is for decoding instructions whose lengths vary. Alignment of instructions to a boundary is classified elsewhere. See SEE OR SEARCH THIS CLASS, SUBCLASS note below.

SEE OR SEARCH THIS CLASS, SUBCLASS:
204 for alignment of instruction data.

Subclass: 211 [Patents]

Decoding instruction to generate an address of a microroutine:
This subclass is indented under subclass 208. Subject matter including means or steps for utilizing instruction data to develop a starting or initial address of a microroutine responsible for controlling execution of the instruction.

SEE OR SEARCH CLASS:
711, Electrical Computers and Digital Processing Systems: Memory, subclass 215 for generation of a memory address in response to a microroutine.

Subclass: 212 [Patents]

Decoding by plural parallel decoders:
This subclass is indented under subclass 208. Subject matter including means or steps for decoding an instruction in parallel steps by plural decoding elements.

SEE OR SEARCH THIS CLASS, SUBCLASS:
1 for parallel computer architecture.

Subclass: 213 [Patents]

Predecoding of instruction component:
This subclass is indented under subclass 208. Subject matter for decoding part of an instruction at an earlier processor cycle than the remainder of the instruction.
(1) Note. This subclass will accept only nominal recitations of instruction caching in regards to pre-decoding. Caching, per se, is classified elsewhere.
(2) Note. This technique is often used in combination with branch instruction processing in order to prefetch for anticipated branch execution and in parallel processing. This subclass accepts only significant recitations of pre-decoding in overall combinations directed to prefetching, branch instruction processing, and parallel processing. Prefetching, branch instruction processing, and parallel processing, per se, are classified elsewhere. See SEE OR SEARCH THIS CLASS, SUBCLASS: below.

SEE OR SEARCH THIS CLASS, SUBCLASS:
207 for instruction prefetching.
215 for decoding for data dependency processing for parallel issuance.
233 for branching.

Subclass: 214 [Patents]

INSTRUCTION ISSUING:
This subclass is indented under the class definition. Subject matter including means or steps for dispatching an instruction for execution (e.g., designating a register after resolving data conflicts).
(1) Note. Dispatching in the field of process control for task management dealing with process scheduling, load balancing, etc., is classified elsewhere. See SEE OR SEARCH CLASS below.

SEE OR SEARCH THIS CLASS, SUBCLASS:
201 for data flow architecture based instruction processing system.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 1 for task management or task control.

Subclass: 215 [Patents]

Simultaneous issuance of multiple instructions:
This subclass is indented under subclass 214. Subject matter including means or steps for issuing plural instructions in parallel (e.g., superscalar, very long instruction word (VLIW)).
(1) Note. This subclass provides for dynamic, hardware-based multiple instruction issuance or scheduling. Static instruction scheduling by a compiler or an assembler is classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
23 for superscalar processing architecture.
24 for long instruction word processing architecture.

SEE OR SEARCH CLASS:
395, Information Processing System Organization, 705 for compilers, per se.

Subclass: 216 [Patents]

DYNAMIC INSTRUCTION DEPENDENCY CHECKING, MONITORING, OR CONFLICT RESOLUTION:
This subclass is indented under the class definition. Subject matter including means or steps for on-the-fly testing of instructions and operands to assess conflicts related to data or functional unit availability (e.g., identifying dependencies, attempting to resolve dependencies, or both).
(1) Note. This subclass is directed to means and steps for controlling instruction issuing or executing which takes into account readiness of the instruction processing resource(s). Task resource management is classified elsewhere.
(2) Note. This subclass is also for dynamic hardware based dependency checking. Dependency checking performed by a compiler is classified elsewhere.
(3) Note. Reliability and availability of functional units include the determination of a fault condition and are classified elsewhere.
(4) Note. This subclass includes dealing with resource management problems within the instruction stream, generally at the ALU functional unit level. Resource management in a manufacturing environment is classified elsewhere.
(5) Note. This subclass deals with reserving use of functional units at the instruction level of a digital data processing system. Reservations for seat assignment for travel or entertainment are classified elsewhere.

SEE OR SEARCH CLASS:
395, Information Processing System Organization, 705 for compilers and dependency checking.
700, Data Processing: Generic Control Systems or Specific Applications, subclasses 99-102 for manufacturing environment resource allocation.
705, Data Processing: Financial, Business Practice Management, or Cost /Price Determination, 5 for reservation, check-in, booking for reserving space, and subclass 8+ for scheduling and allocating resources for administrative function in a business environment.
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, subclass 7 dependency checking amongst processes and tasks.
711, Electrical Computers and Digital Processing Systems: Memory, subclass 125 for instruction data caching and subclass 169 for memory access pipelining.
714, Electrical Computers and Digital Processing Systems: Error Detection/Correction and Fault Detection/Recovery, 1 for reliability and availability.

Subclass: 217 [Patents]

Scoreboarding, reservation station, or aliasing:
This subclass is indented under subclass 216. Subject matter utilizing scoreboarding, reservation stations, aliasing (i.e., renaming), or combinations thereof for dependency checking and resolution.
(1) Note. This subclass is for use of a hardware-based scoreboard, reservation station, or alias table for determining or resolving instruction data dependencies. File maintenance (e.g., renaming) is classified elsewhere. Task management, per se, is classified elsewhere.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 1 for task management per se.
707, Data Processing: Database and File Management, Data Structures, or Document Processing, 200 for file renaming or file maintenance.

Subclass: 218 [Patents]

Commitment control or register bypass:
This subclass is indented under subclass 216. Subject matter including means or steps for controlling the writing of results to registers and for bypassing results around registers to eliminate or alleviate data availability conflicts.
(1) Note. This subclass provides for systems that control the commitment of results to the register file and for bypassing results around the register file to functional units to alleviate data dependency, for example, as in
getting data to a functional unit in deeply pipelined or superscalar systems. Data consistency in a cache or cache by-pass is classified elsewhere.
(2) Note. This subclass provides for out-of - order execution but assures in order commitment of results to the register file. However, memory accessing techniques, per se, are classified elsewhere. See SEE OR SEARCH CLASS note below.
(3) Note. Context preserving, per se, is classified elsewhere. See SEARCH THIS CLASS, SUBCLASS note below.

SEE OR SEARCH THIS CLASS, SUBCLASS:
228 for context preservation.

SEE OR SEARCH CLASS:
711, Electrical Computers and Digital Processing Systems: Memory, subclass 3 for addressing cache memory; subclass 203for virtual addressing 141+ for cache coherency, in particular subclass 142 for write through and 143 for write back; and subclass 155 for read-modify-write technique.

Subclass: 219 [Patents]

Reducing an impact of a stall or pipeline bubble:
This subclass is indented under subclass 216. Subject matter including means or steps for allowing an instruction execution to catch up with other instruction in a pipeline without flushing that execution pipeline.
(1) Note. This subclass is directed to reducing a time penalty of pipeline stalls or pipeline bubbles due to data hazards or instruction hazards. Conditional branching creates similar data hazards and pipeline stalls. How ever, pipeline stall or pipeline bubble due to branching are classified elsewhere. See SEE OR SEARCH THIS CLASS, SUBCLASS note below.

SEE OR SEARCH THIS CLASS, SUBCLASS:
233 for branching when an instruction hazard exists.

SEE OR SEARCH CLASS:
711, Electrical Computers and Digital Processing Systems: Memory, subclass 140 for data hazards related caching and subclass 169 for memory access pipelining.

Subclass: 220 [Patents]

PROCESSING CONTROL:
This subclass is indented under the class definition. Subject matter including a dynamic control of execution, processing, or sequencing of instruction data within a processor.
(1) Note. This subclass provides for generic micro-sequencing control or hardware sequencing control of instruction data within a processor. Specialized architecture-based instruction processing is classified elsewhere. See SEE OR SEARCH THIS CLASS, SUBCLASS note below.
(2) Note. This subclass is directed to instruction processing and machine level Instruction execution. However, instruction sequence control within a compiler, by a compiler, or by an operating system is classified elsewhere. See SEE OR SEARCH CLASS note below.
(3) Note. This subclass is for processing instructions. Sequencing as is common in computerized numerical controllers (CNC), industrial controllers, computer driven machining, etc., is classified elsewhere. See SEE OR SEARCH CLASS note below.
(4) Note. Hardwired sequencers are also often referred to as "sequential state machines" in the art. They are appropriately classified here when they are performing control or sequencing of instruction data within a processor.
(5) Note. Graphic command processing is classified elsewhere. See SEE OR SEARCH CLASS note below.

SEE OR SEARCH THIS CLASS, SUBCLASS:
200 for architecture-based instruction processing.

SEE OR SEARCH CLASS:
345, Computer Graphic Processing, Operator Interface Processing, and Selective Visual Display Systems, subclass 522 for graphic command processing.
395, Information Processing System Organization, 705 for a compiler in a software development system.
700, Data Processing: Generic Control Systems or Specific Applications, subclasses 1-89 for general purpose computer control systems; subclasses 95-212 for manufacturing control systems; and particularly subclasses 159-195 for machine tool control systems.
709, Electrical Computers and Digital Processing Systems:
Multiple Computer or Process Coordinating, 1 operating system task management and control.

Subclass: 221 [Patents]

Arithmetic operation instruction processing:
This subclass is indented under subclass 220. Subject matter for control of execution or processing of instruction data peculiar to arithmetic operation (e.g., add, subtract, multiply, etc.).
(1) Note. This subclass is directed to control of execution or processing of an instruction peculiar to arithmetic operation. Arithmetic functional units, that is, machines which carry out arithmetical calculations, per se, are classified elsewhere. See SEE OR SEARCH CLASS below.

SEE OR SEARCH CLASS:
708, Electrical Computers: Arithmetic Processing And Calculating, 100 for electrical calculators; subclasses 200+ for specialized functions performed by an electrical digital calculating computer such as function generation and filtering; subclasses 400+ for transforms (e.g., Fourier); subclasses 440+ for trigonometric functions; and subclasses 490+ for arithmetic operations, per se.

Subclass: 222 [Patents]

Floating point or vector:
This subclass is indented under subclass 221. Subject matter for control of execution or processing of instruction data peculiar to a floating point or vector operation.

SEE OR SEARCH CLASS:
708, Electrical Computers: Arithmetic Processing And Calculating, 495 for floating point arithmetical operations.

Subclass: 223 [Patents]

Logic operation instruction processing:
This subclass is indented under subclass 220. Subject matter for control of execution or processing of instruction data peculiar to logic operation (e.g., AND, OR, exclusive OR, etc.).
(1) Note. This subclass provides for the control of execution of instruction data peculiar to logical operations. Digital logic, per se, (e.g., AND gates, OR gates, combinations of gates, etc.) is classified elsewhere. See SEE OR SEARCH CLASS note below.
(2) Note. This subclass is concerned with processing instruction data within a processor. Processing of pixels using logical operation in the field of computer graphics processing, however, are classified elsewhere. See SEE OR SEARCH CLASS note below.

SEE OR SEARCH CLASS:
326, Electronic Digital Logic Circuitry, appropriate subclasses for logic circuit and interface, per se.
345, Computer Graphic Processing, Operator Interface Processing, and Selective Visual Display Systems, 523 for logical operations in computer graphics.

Subclass: 224 [Patents]

Masking:
This subclass is indented under subclass 223. Subject matter for control of execution or processing of instruction data peculiar to blocking and passing data elements contained within memory words or processor registers.
(1) Note. This subclass provides for control of execution of instruction data which is peculiar to masking. Generic masking of digital words in a digital data processing system is classified elsewhere.
(2) Note. Masking is a generic technique for stripping, passing, eliminating, or blocking a part of a digital word. Masking used as a subcombination to an overall combination such as, for example, to enable or disable interrupts or to enable or disable a status line is classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
5 for masking to control an access to data in vector register of a vector processor.
300 for generic masking of digital data.

SEE OR SEARCH CLASS:
710, Electrical Computers and Digital Processing Systems: Input/Output, subclasses 262+ for interrupt processing in relation to masking.
714, Electrical Computers and Digital Processing Systems: Error Detection/Correction & Fault Detection/Recovery, 3 for masking in relation to fault recovery.

Subclass: 225 [Patents]

Processing control for data transfer:
This subclass is indented under subclass 220. Subject matter including means or steps for processing instruction data that specifically support or perform a data transfer operation.
(1) Note. This subclass provides for processing instruction data that performs data transfer. Data transfer, per se, is classified elsewhere.

SEE OR SEARCH CLASS:
370, Multiplex Communications, appropriate subclasses for multiplex communications, per se.
375, Pulse or Digital Communications, appropriate subclasses for pulse or digital communications, per se.
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 200 for multicomputer data transferring.
710, Electrical Computers and Digital Processing Systems: Input/Output, 5 for I/O command processing, subclass 33 for I/O data transfer specifying.
711, Electrical Computers and Digital Processing Systems: Memory, subclass 214 for operand address generation and subclass 215 for microinstruction address generation.

Subclass: 226 [Patents]

Instruction modification based on condition:
This subclass is indented under subclass 220. Subject matter including means or steps for changing the operation of an instruction based upon some condition by substituting or changing the instruction in some manner.
(1) Note. This subclass also provides for modification of microinstruction in order to perform a different operation.
(2) Note. This subclass provides for modification of an instruction to change its operation or data usage. Modification of instruction address for the purpose of branching is classified elsewhere.
(3) Note. Instruction substitution or modification in support of tracing or fault locating is classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
233 for branching, per se.

SEE OR SEARCH CLASS:
395, Information Processing System Organization, 701 for software development tools.
714, Electrical Computers and Digital Processing Systems: Error Detection/Correction and Fault Detection/Recovery, subclass 34 for instruction substitution in support of fault locating.

Subclass: 227 [Patents]

Specialized instruction processing in support of testing, debugging, emulation:
This subclass is indented under subclass 220. Subject matter including means or steps for execution or sequencing of instruction data that support testing, debugging, or emulation.
(1) Note. Classification in this subclass requires more than nominal recitation of execution of an instruction. Specific means or steps involved in the specific execution of the instruction itself are properly classified in this subclass.
(2) Note. This subclass is directed to instruction level processing for debugging. A software development environment for compilers is classified elsewhere.
(3) Note. This subclass is distinguished from the related topics under data processing system reliability and availability. There, a fault condition must be encountered and the fault is either detected, located, or recovered from, and nominal instruction data processing may be claimed. For classification here, a fault may be nominally recited but substantial instruction processing must be claimed.
(4) Note. This subclass is distinguished from emulation, per se. There, nominal instruction data processing may be claimed. For classification here, an emulation may be nominally recited, but substantial instruction processing must be claimed.

SEE OR SEARCH CLASS:
395, Information Processing System Organization, subclass 500 for emulation and simulation, per se, subclass 527 for emulation of system component for compatibility, subclasses 704+ for compilers, program code analyzers, and debuggers.
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 1 for task management, per se.
714, Electrical Computers and Digital Processing Systems- Error Detection/Correction & Fault Detection/Recovery, appropriate subclasses, particularly 35 for debugging and fault locating.

Subclass: 228 [Patents]

Context preserving (e.g., context swapping, check-pointing, register windowing):
This subclass is indented under subclass 220. Subject matter including means for storing volatile data contained in processor registers such that the volatile data can be restored at some point later in time.
(1) Note. This subclass is directed to the register level transactions necessary for preserving the context of an instruction or an instruction pipeline. Multitasking, context switching, and context swapping at the task or operating system level are classified elsewhere.
(2) Note. This subclass concerns itself with data in the pipeline at a point in time when a context swap is to be performed. The control of the commitment of results to a register file or for bypassing results around a register file to functional units to alleviate data dependency is classified elsewhere.
(3) Note. Transactions with higher level memory in a digital data processing system memory hierarchy such as page swapping or write-back is classified elsewhere with the memory accessing and controlling art.
(4) Note. The term "windowing" also applies to operator interfaces and often includes logical operations at the register level. However, register windowing here is for instruction registers and instruction pipelines. Windowing for operator interfaces is classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
218 for commitment control or register bypass.

SEE OR SEARCH CLASS:
345, Computer Graphics Processing, Operator Interface Processing, and Selective Visual Display Systems, 112 for display attribute controller, subclasses 340+, for operator interface windowing.
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, subclass 9 for context switching at the task or operating system level.
711, Electrical Computers and Digital Processing Systems: Memory, subclass 3 for addressing cache memory; subclasses 141+ for cache coherency, specifically subclass 142 for cache write-through, subclass 143 for cache write-back, and subclasses 203+ for virtual addressing techniques.

Subclass: 229 [Patents]

Mode switch or change:
This subclass is indented under subclass 220. Subject matter including means or steps for changing a mode of processing an instruction (e.g., sequential processing to parallel processing, etc.).
(1) Note. A digital data processing system can have a variety of mode changes. In general, substantial recitation of a mode change type in combination with nominal recitation of instruction processing is classified with the mode change type. More than nominal recitation of instruction data execution is required for classification herein.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, subclass 9 for context switching at the task or operating system level.
713, Electrical Computers and Digital Processing Systems: Support, subclass 2 and 100 for mode changing by booting or reconfiguring, and subclass 200+ for security mode changes.
380, Cryptography, appropriate subclasses for security, per se.

Subclass: 230 [Patents]

Generating next microinstruction address:
This subclass is indented under subclass 220. Subject matter including means or steps for generating an address of a next microinstruction in sequence to be processed.
(1) Note. This subclass provides for details of generating a next microinstruction address. Generation of a next microinstruction address is classified elsewhere. Similarly, generation of a next address for a data element, per se, is classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
207 for prefetch of instruction data.
233 for branching.

SEE OR SEARCH CLASS:
711, Electrical Computers and Digital Processing Systems: Memory, 200 for address formation.

Subclass: 231 [Patents]

Detecting end or completion of microprogram:
This subclass is indented under subclass 220. Subject matter including means or steps for detecting or sensing a completion or end of a microprogram routine.
(1) Note. This subclass provides for detection of the completion of execution of a microprogram routine. Macroprogram branching and microprogram branching are classified elsewhere.
(2) Note. Interruption of the end of a microprogram routine is classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
233 for macroprogram branching and microprogram branching.
244 for exception processing or interrupt processing.

Subclass: 232 [Patents]

Hardwired controller:
This subclass is indented under subclass 220. Subject matter utilizing a sequential state machine, hardwired logic, or both for sequencing a flow of instruction data.
(1) Note. Controlling and sequencing are common functions of digital data processing systems. This subclass provides for details of a processor's internal operation and sequencing of instruction data. Numerical controllers and sequencers, per se, are common in industrial control and are
classified elsewhere.
(2) Note. Hardwired controllers and sequencers are commonly used for their inherent speed advantage. This subclass provides for details of a processor's internal operation and sequencing of instruction data. Hardwired controllers directed to application specific data processing or ASICs (application specific integrated circuits) for specific application, per se, such as digital filtering, graphics data processing, and arithmetic data processing, are classified with the application art area.

SEE OR SEARCH CLASS:
326, Electronic Digital Logic Circuitry, 37 for multifunctional circuits including finite state machines.
345, Computer Graphics Processing, Operator Interface Processing, and Selective Visual Display Systems, subclass 522 for graphic command processing,
377, Electrical Pulse Counters, Pulse Dividers, or Shift Registers: Circuits and Systems, 27 for circuit or device that includes more than a counter or register but is not sufficient for classification with a particular art device; and subclasses 118+ for pulse counting or dividing chains.
395, Information Processing System Organization, subclass 500 for emulation and simulation of computer components, subclass 527 for emulation of system components for compatibility.
700, Data Processing: Generic Control Systems or Specific Applications, subclasses 1-89 for industrial controllers and numerical controllers, and subclasses 95-212 for continuous material processing and machine tool control.
708, Electrical Computers: Arithmetic Processing And Calculating, subclass 200 for specialized function performed, particularly subclasses 300+ for digital filtering and subclasses 490+ for arithmetical processing.

Subclass: 233 [Patents]

Branching (e.g., delayed branch, loop control, branch predict, interrupt):
This subclass is indented under subclass 220. Subject matter including means or steps for performing a change in instruction data flow brought about by instruction data execution or external stimuli.
(1) Note. This subclass provides for instruction data flow changes. Program execution flow changes for the purpose of task management and control related to process or job
execution is classified elsewhere.
(2) Note. Address generation for branching is classified elsewhere.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 1 for task management and control related to process or job execution, subclasses 3+ for process scheduling.
711, Electrical Computers and Digital Processing Systems: Memory, subclass 125 for instruction data caching, subclass 169 for memory access pipelining, and subclass 213 for address generation for branching.
714, Electrical Computers and Digital Processing Systems: Error Detection/Correction and Fault Detection/Recovery, appropriate subclasses, particularly 50 for a state out of sequence error detection..

Subclass: 234 [Patents]

Conditional branching:
This subclass is indented under subclass 233. Subject matter including means or steps for supporting changes in program execution flow based upon some condition within the processor (e.g., branch if equal, branch if zero, etc.).

Subclass: 235 [Patents]

Simultaneous parallel fetching or executing of branch and fall-through path:
This subclass is indented under subclass 234. Subject matter including systems which execute in parallel both the branch taken and branch failure paths of a conditional branch until such time as the outcome of the conditional branch is known.

Subclass: 236 [Patents]

Evaluation of multiple conditions or multiway branching:
This subclass is indented under subclass 234. Subject matter including means or steps for evaluating more than a single condition in one instruction or for choosing to branch to at least one of multiple destinations.

Subclass: 237 [Patents]

Prefetching a branch target (i.e., look ahead):
This subclass is indented under subclass 234. Subject matter including means or steps for prefetching an instruction from the target of a branch in anticipation of the branch being taken.
(1) Note. This subclass provides for prefetch in relation to a conditional branch. Generic prefetching is classified elsewhere.
(2) Note. Address generation for prefetching is classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
207 for generic prefetch of instruction data.

SEE OR SEARCH CLASS:
711, Electrical Computers and Digital Processing Systems: Memory, subclass 213 for address generation for prefetching.

Subclass: 238 [Patents]

Branch target buffer:
This subclass is indented under subclass 237. Subject matter including means or steps for memorizing or holding the last several branch target addresses so that if a branch is encountered again, the target address does not have to be recalculated.

Subclass: 239 [Patents]

Branch prediction:
This subclass is indented under subclass 234. Subject matter including means or steps for attempting to theorize or guess an outcome of a branch before such outcome can be determined.

SEE OR SEARCH CLASS:
711, Electrical Computers and Digital Processing Systems: Memory, 204 for address mapping by prediction or look-ahead.

Subclass: 240 [Patents]

History table:
This subclass is indented under subclass 239. Subject matter including means or steps for memorizing an outcome of the last several branch instructions encountered and use that to more accurately predict an outcome of that same branch instructions if they are encountered again in the future.

Subclass: 241 [Patents]

Loop execution:
This subclass is indented under subclass 233. Subject matter including means or steps for controlling an execution of a program loop.
(1) Note. This subclass provides for details of an internal control of a processor and sequencing of instruction data for a performance of loops. Programming of loops and compiling of loop statements are classified elsewhere.
(2) Note. Subroutine calling and returning is classified elsewhere.
(3) Note. Interrupt service and return is classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
242 for macroinstruction routine.
243 for microinstruction subroutine.
244 for exception processing (interrupts and traps).

SEE OR SEARCH CLASS:
395, Information Processing System Organization, subclass 500 for emulation and simulation, per se., subclass 704 for program code execution analyzer, de-buggers, or monitor, subclass 705+ for compiler.
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 1 for task management and control related to process or job execution, and subclasses 3+ for process scheduling.
710, Electrical Computers and Digital Processing Systems: Input/Output, 260 for interrupt service and interrupt return processing in a digital data processing system.

Subclass: 242 [Patents]

To macro-instruction routine:
This subclass is indented under subclass 233. Subject matter including means or steps for accessing and performing a particular predefined routine.
(1) Note. This subclass provides for the details of the internal sequencing and processing of instruction data for performing routines not otherwise provided for. For example, graphic command processing, arithmetic operation command processing, and logic operation command processing are classified elsewhere.
(2) Note. The combination of an applications art area with macroinstruction or command processing is classified in the art area. For example, graphic command processing, emulators, compilers, and natural language processing are classified elsewhere.

SEE OR SEARCH CLASS:
345, Computer Graphics Processing, Operator Interface Processing, and Selective Visual Display Systems, subclass 522 for graphic command processing,
395, Information Processing System Organization, subclass 500 for emulation, and subclasses 705+ compilers or translators.
704, Data Processing: Speech Signal Processing, Linguistic, Language Translation, And Audio Compression/Decompression, subclass 9 for natural language translation.

Subclass: 243 [Patents]

To microinstruction subroutine:
This subclass is indented under subclass 233. Subject matter including means or steps for calling microcode subroutine from another microroutine.
(1) Note. Subroutine for industrial control or numerical control is classified elsewhere.

SEE OR SEARCH CLASS:
700, Data Processing: Generic Control Systems or Specific Applications, subclasses 1-89 for generic industrial or numerical controllers.

Subclass: 244 [Patents]

Exception processing (e.g., interrupts and traps):
This subclass is indented under subclass 233. Subject matter including means or steps for handling asynchronous or unexpected changes in instruction data flow.
(1) Note. This subclass provides for details of the internal operation of a processor for responding to an interrupt by the processor. Subject matter directed to queuing interrupts, prioritizing interrupts or signals in a digital data processing system is classified elsewhere.
(2) Note. Details of interrupt processing for the purposes of task management or multitasking are classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
40 for an external sync or interrupt signal in a processing architecture having sequential program control.

SEE OR SEARCH CLASS:
709, Electrical Computers and Digital Processing Systems: Multiple Computer or Process Coordinating, 8 for task management and multitasking.
710, Electrical Computers and Digital Processing Systems: Input/Output, 260 for interrupt queuing and prioritizing.

Subclass: 245 [Patents]

Processing sequence control (i.e., microsequencing):
This subclass is indented under subclass 220. Subject matter including means or steps for controlling a sequencing of an execution of a microinstruction.

Subclass: 246 [Patents]

Plural microsequencers (e.g., dual microsequencers):
This subclass is indented under subclass 245. Subject matter including two or more microsequencers for sequencing through microroutines.

Subclass: 247 [Patents]

Multilevel microcontroller (e.g., dual-level control store):
This subclass is indented under subclass 245. Subject matter including means or steps for sequencing microinstruction processing utilizing a multilevel (e.g., dual level) microcode (i.e., a first level microcode addresses and controls a retrieval of a second or subsequent level microcode.).

Subclass: 248 [Patents]

Writable/ changeable control store architecture:
This subclass is indented under subclass 245. Subject matter having a microprogram storage that is writable/changeable so that a different microprogram may be installed.
(1) Note. This subclass includes details of an arrangement of the micromemory within a microsequencer.
(2) Note. Writable control store architectures are properly classified here. Also a product by process PLA operating as a microprogram ASIC could go here. However, transistor level or logic gate level chip design is classified elsewhere.
(3) Note. Classification herein requires more than nominal recitation of microcode in combination with writable control store. Memory accessing and memory addressing are classified elsewhere.

SEE OR SEARCH THIS CLASS, SUBCLASS:
37 for a specific sequence control processing architecture with nominal recitation of EPROM.

SEE OR SEARCH CLASS:
326, Electronic Digital Logic Circuitry, 37 for multifunctional or programmable logic including PLA, PAL, PLD, etc.
364, Electrical Computers and Data Processing Systems, 490 for integrated circuit design tools.
365, Static Information Storage and Retrieval, appropriate subclasses for details of memory design at the transistor or gate level.
395, Information Processing System Organization, subclass 500 for emulation.
711, Electrical Computers and Digital Processing Systems: Memory, 100 for memory accessing and control.

Subclass: 300 [Patents]

BYTE -WORD ORDER REARRANGING, BIT -FIELD INSERTION OR EXTRACTION, STRING LENGTH DETECTING, OR SEQUENCE DETECTING:
This subclass is indented under the class definition. Subject matter having means or step for shuffling, adding, removing of bit or for recognizing a sequence of bytes in a larger string of bytes not provided for by the subclasses above.
(1) Note. This subclass is for generic processing of digital words including sorting, list processing and bit or byte operations at the word level. Instruction processing for logical operations on digital words and digital logic, per se, is classified elsewhere.
(2) Note. This subclass does not accept generic processing of digital words for the expressed purpose of converting one code to another code (e.g., BCD =>BINARY). These teachings are classified elsewhere. Nor does this subclass accept encryption. Encryption is classified elsewhere.
(3) Note. Processing of digital words to an expressed filtering effect on acquired signals or an arithmetic operation on a series of digital words is classified elsewhere.
(4) Note. Searching and sorting in databases, files, and word processing applications are not classified here and instead are classified with the respective application art areas.

SEE OR SEARCH THIS CLASS, SUBCLASS:
220 for specialized instruction data processing (e.g., for debugging, for logic operations, for context preserving, etc.).

SEE OR SEARCH CLASS:
341, Coded Data Generation or Conversion, appropriate subclasses for analog-to-digital converters and digital-to-digital code converters.
380, Cryptography, 6 for electrical signal masking, subclasses 9+ for electrical signal modification (e.g., scrambling).
707, Data Processing: Database and File Management, Data Structures, or Document Processing, subclasses 1-206 for database and file searching and sorting.
708, Electrical Computers: Arithmetic Processing And Calculating, 300 for digital filtering and subclasses 490+
for arithmetical processing.


Information Products Division -- Contacts

Questions regarding this report should be directed to:

U.S. Patent and Trademark Office
Information Products Division
PK3- Suite 441
Washington, DC 20231

tel: (703) 306-2600
FAX: (703) 306-2737
email: oeip@uspto.gov


[Top] [Manual of Classification, Class Listing] [Manual of Classification, Class 712] [Classification Definitions, Class Listing] [USPTO Home Page]

Last Modified: 6 October 2000