A computer system which permits deterministic and preemptive scheduling of threads in a software application. In one embodiment, a scheduler is utilized to schedule the threads in a queue. Once the threads are scheduled, they are divided up into instruction slices each consisting of a predetermined number of instructions. The scheduler executes each instruction slice. An instruction counter is utilized to keep track of the number of instructions executed. The thread is permitted to run the instruction slice until the predetermined number of instructions has been executed. Alternatively, the thread stops if it is blocked while waiting for an input, for example. The next thread is then executed for the same number of instructions. This process permits for the efficient debugging of software which utilizes traditional cyclic debugging.

Een computersysteem dat het deterministische en preventieve plannen van draden in een softwaretoepassing toelaat. In één belichaming, wordt een planner gebruikt om de draden in een rij te plannen. Zodra de draden worden gepland, zijn zij omhoog verdeeld in instructieplakken elk die uit een vooraf bepaald aantal instructies bestaat. De planner voert elke instructieplak uit. Een instructieteller wordt gebruikt om spoor van het aantal uitgevoerde instructies te houden. De draad wordt toegelaten om de instructieplak in werking te stellen tot het vooraf bepaalde aantal instructies is uitgevoerd. Alternatief, houdt op de draad als het terwijl het wachten op een input, bijvoorbeeld wordt geblokkeerd. De volgende draad wordt dan uitgevoerd voor het zelfde aantal instructies. Dit proces laat voor het efficiënte zuiveren van software toe die het traditionele cyclische zuiveren gebruikt.

 
Web www.patentalert.com

< Method and apparatus for jump control in a pipelined processor

< Method and system for providing a flexible and efficient processor for use in a graphics processing system

> Network system, information processing apparatus, and information memory medium

> Advanced load address table entry invalidation based on register address wraparound

~ 00085