Arrangements for programme control

Industry

  • CPC
  • G06F9/00
This industry / category may be too specific. Please go to a parent level for more data

Sub Industries

G06F9/02using wired connections G06F9/04using record carriers containing only programme instructions G06F9/06using stored programme G06F9/22Micro-control or micro-programme arrangements G06F9/223Execution means for micro-instructions irrespective of the micro-instruction function G06F9/226Micro instruction function G06F9/24Loading of the micro-programme G06F9/26Address formation of the next micro-instruction Microprogram storage or retrieval arrangements G06F9/261Micro-instruction address formation G06F9/262Arrangements for next micro-instruction selection G06F9/264Micro-instruction selection based on results of processing G06F9/265by address selection on input of storage G06F9/267by instruction selection on output of storage G06F9/268Micro-instruction selection not based on processing results G06F9/28Enhancement of operational speed G06F9/30Arrangements for executing machine-instructions G06F9/30003Arrangements for executing specific machine instructions G06F9/30007to perform operations on data operands G06F9/3001Arithmetic instructions G06F9/30014with variable precision G06F9/30018Bit or string instructions; instructions using a mask G06F9/30021Compare instructions G06F9/30025Format conversion instructions G06F9/30029Logical and Boolean instructions G06F9/30032Movement instructions G06F9/30036Instructions to perform operations on packed data G06F9/3004to perform operations on memory G06F9/30043LOAD or STORE instructions; Clear instruction G06F9/30047Prefetch instructions; cache control instructions G06F9/3005to perform operations for flow control G06F9/30054Unconditional branch instructions G06F9/30058Conditional branch instructions G06F9/30061Multi-way branch instructions G06F9/30065Loop control instructions; iterative instructions G06F9/30069Instruction skipping instructions G06F9/30072to perform conditional operations G06F9/30076to perform miscellaneous control operations G06F9/30079Pipeline control instructions G06F9/30083Power or thermal control instructions G06F9/30087Synchronisation or serialisation instructions G06F9/3009Thread control instructions G06F9/30094Condition code generation G06F9/30098Register arrangements G06F9/30101Special purpose registers G06F9/30105Register structure G06F9/30109having multiple operands in a single register G06F9/30112for variable length data G06F9/30116Shadow registers G06F9/3012Organisation of register space G06F9/30123according to context G06F9/30127Register windows G06F9/3013according to data content G06F9/30134Register stacks; shift registers G06F9/30138Extension of register space G06F9/30141Implementation provisions of register files G06F9/30145Instruction analysis G06F9/30149of variable length instructions G06F9/30152Determining start or end of instruction; determining instruction length G06F9/30156Special purpose encoding of instructions G06F9/3016Decoding the operand specifier G06F9/30163with implied specifier G06F9/30167of immediate specifier G06F9/3017Runtime instruction translation G06F9/30174for non-native instruction set G06F9/30178of compressed or encrypted instructions G06F9/30181Instruction operation extension or modification G06F9/30185according to one or more bits in the instruction G06F9/30189according to execution mode G06F9/30192according to data descriptor G06F9/30196using decoder G06F9/32Address formation of the next instruction G06F9/321Programme or instruction counter G06F9/322for non-sequential address G06F9/324using program counter relative addressing G06F9/325for loops G06F9/327for interrupts G06F9/328for runtime instruction patching G06F9/34Addressing or accessing the instruction operand or the result; Formation of operand address; Addressing modes G06F9/342Extension of operand address space G06F9/345of multiple operands or results G06F9/3455using stride G06F9/35Indirect addressing, i.e. using single address operand G06F9/355Indexed addressing G06F9/3552using wraparound G06F9/3555using scaling G06F9/3557using program counter as base address G06F9/38Concurrent instruction execution G06F9/3802Instruction prefetching G06F9/3804for branches G06F9/3806using address prediction G06F9/3808for instruction reuse G06F9/381Loop buffering G06F9/3812with instruction modification G06F9/3814Implementation provisions of instruction buffers G06F9/3816Instruction alignment G06F9/3818Decoding for concurrent execution G06F9/382Pipelined decoding G06F9/3822Parallel decoding G06F9/3824Operand accessing G06F9/3826Data result bypassing G06F9/3828with global bypass G06F9/383Operand prefetching G06F9/3832Value prediction for operands; operand history buffers G06F9/3834Maintaining memory consistency G06F9/3836Instruction issuing G06F9/3838Dependency mechanisms G06F9/384Register renaming G06F9/3842Speculative instruction execution G06F9/3844using dynamic prediction G06F9/3846using static prediction G06F9/3848using hybrid branch prediction G06F9/3851from multiple instruction streams G06F9/3853of compound instructions G06F9/3855Reordering G06F9/3857Result writeback G06F9/3859with result invalidation G06F9/3861Recovery G06F9/3863using multiple copies of the architectural state G06F9/3865using deferred exception handling G06F9/3867using instruction pipelines G06F9/3869Implementation aspects G06F9/3871Asynchronous instruction pipeline G06F9/3873Variable length pipelines G06F9/3875Pipelining a single stage G06F9/3877using a slave processor G06F9/3879for non-native instruction execution G06F9/3881Arrangements for communication of instructions and data G06F9/3885using a plurality of independent parallel functional units G06F9/3887controlled by a single instruction G06F9/3889controlled by multiple instructions G06F9/3891organised in groups of units sharing resources G06F9/3893controlled in tandem G06F9/3895for complex operations G06F9/3897with adaptable data path G06F9/44Arrangements for executing specific programmes G06F9/4401Bootstrapping G06F9/4403Processor initialisation G06F9/4405Initialisation of multiprocessor systems G06F9/4406Loading of operating system G06F9/4408Boot device selection G06F9/441Multiboot arrangements G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers G06F9/4413Plug-and-play (PnP) G06F9/4415Self describing peripheral devices G06F9/4416Network booting; Remote initial programme loading [RIPL] G06F9/4418Suspend and resume; Hibernate and awake G06F9/442Shutdown G06F9/4421Execution paradigms G06F9/4423Procedural G06F9/4425Executing sub-programmes G06F9/4426Formation of sub-programme jump address G06F9/4428Object-oriented G06F9/443Object-oriented method invocation or resolution G06F9/4431Optimising based on receiver type G06F9/4433Inheritance G06F9/4435Object persistence G06F9/4436Data-driven G06F9/4438Unification in logic programming G06F9/444Finite state machines G06F9/4443Execution mechanisms for user interfaces G06F9/4445Remote windowing G06F9/4446Help systems G06F9/4448Multi-language systems; Localisation; Internationalisation G06F9/445Programme loading or initiating G06F9/44505Configuring for programme initiating G06F9/4451User profiles, roaming G06F9/44521Dynamic linking or loading; Link editing at or after load time G06F9/44526Plug-ins; Add-ons G06F9/44536Selecting among different versions G06F9/44542Retargetable G06F9/44547Fat binaries G06F9/44552Conflict resolution G06F9/44557Code layout in executable memory G06F9/44563Sharing G06F9/44568Immediately runnable code G06F9/44573Execute-in-place [XIP] G06F9/44578Preparing or optimising for loading G06F9/44584Portable applications, i.e. making applications self-contained G06F9/44589Programme code verification G06F9/44594Unloading G06F9/455Emulation Software simulation G06F9/45504Abstract machines for programme code execution G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation G06F9/45512Command shells G06F9/45516Runtime code conversion or optimisation G06F9/4552Involving translation to a different instruction set architecture G06F9/45525Optimisation or modification within the same instruction set architecture G06F9/45529Embedded in an application G06F9/45533Hypervisors; Virtual machine monitors G06F9/45537Provision of facilities of other operating environments G06F9/45541Bare-metal G06F9/45545Guest-host, i.e. hypervisor is an application program itself G06F9/4555Para-virtualisation G06F9/45554Instruction set architectures of guest OS and hypervisor or native processor differ G06F9/45558Hypervisor-specific management and integration aspects G06F9/46Multiprogramming arrangements G06F9/461Saving or restoring of program or task context G06F9/462with multiple register sets G06F9/463Program control block organisation G06F9/465Distributed object oriented systems G06F9/466Transaction processing G06F9/467Transactional memory G06F9/468Specific access rights for resources G06F9/48Programme initiating Programme switching G06F9/4806Task transfer initiation or dispatching G06F9/4812by interrupt G06F9/4818Priority circuits therefor G06F9/4825Interrupt from clock G06F9/4831with variable priority G06F9/4837time dependent G06F9/4843by program G06F9/485Task life-cycle G06F9/4856resumption being on a different machine G06F9/4862the task being a mobile agent G06F9/4868with creation or replication G06F9/4875with migration policy G06F9/4881Scheduling strategies for dispatcher G06F9/4887involving deadlines G06F9/4893taking into account power or heat criteria G06F9/50Allocation of resources G06F9/5005to service a request G06F9/5011the resources being hardware resources other than CPUs, Servers and Terminals G06F9/5016the resource being the memory G06F9/5022Mechanisms to release resources G06F9/5027the resource being a machine G06F9/5033considering data affinity G06F9/5038considering the execution order of a plurality of tasks G06F9/5044considering hardware capabilities G06F9/505considering the load G06F9/5055considering software capabilities G06F9/5061Partitioning or combining of resources G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs G06F9/5072Grid computing G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources G06F9/5083Techniques for rebalancing the load in a distributed system G06F9/5088involving task migration G06F9/5094where the allocation takes into account power or heat criteria G06F9/52Programme synchronisation Mutual exclusion G06F9/522Barrier synchronisation G06F9/524Deadlock detection or avoidance G06F9/526Mutual exclusion algorithms G06F9/528by using speculative mechanisms G06F9/54Interprogramme communication; Intertask communication G06F9/541via adapters G06F9/542Event management; Broadcasting; Multicasting; Notifications G06F9/543User-generated data transfer G06F9/544Buffers; Shared memory; Pipes G06F9/545where tasks reside in different layers G06F9/546Message passing systems or structures G06F9/547Remote procedure calls [RPC]; Web services G06F9/548Object oriented; Remote method invocation [RMI]