9858116

Functional Unit for Supporting Multithreading, Processor Comprising the Same, and Operating Method Thereof

PublishedJanuary 2, 2018
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
18 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A functional unit for supporting multithreading, the functional unit comprising: a plurality of input ports configured to receive opcodes and operands for a plurality of threads, wherein each of the plurality of input ports is configured to receive an opcode and an operand for a different thread; a plurality of operators configured to perform operations using the operands; an operator selector configured to select, based on each of the opcodes, an operator from among the plurality of operators to perform a specific operation using one of the operands; a plurality of output ports configured to output operation results of operations for each of the plurality of threads; a resource conflict detector configured to detect a resource conflict by determining whether at least two threads of the plurality of threads simultaneously attempt to perform an identical operation based on a comparison of the opcodes of the plurality of threads, performed in a decoding operation; and a resource scheduler configured to determine a processing order of the at least two threads by stalling one thread of the at least two threads that is determined to have a lower priority, wherein each of the plurality of operators is implemented as an arithmetic logical operator, and the arithmetic logical operator comprises at least one from among an adder, a multiplier, a divider, and a comparator, and wherein each of the plurality of operators is configured to perform a specific arithmetic logical operation different from arithmetic logical operations performed by other operators of the plurality of operators.

Plain English translation pending...
Claim 2

Original Legal Text

2. The functional unit of claim 1 , wherein each of the plurality of output ports is configured to output operation results for different threads.

Plain English Translation

A system for parallel processing in computing architectures addresses the challenge of efficiently managing multiple threads in high-performance computing environments. The system includes a functional unit designed to process multiple threads concurrently, where each thread represents an independent sequence of instructions. The functional unit is connected to a plurality of output ports, each configured to output operation results for different threads. This ensures that results from different threads are routed to distinct output ports, preventing conflicts and improving processing efficiency. The system may also include input ports for receiving data from different threads, with each input port associated with a specific thread to maintain data integrity and processing order. The functional unit processes the data from these input ports and directs the results to the corresponding output ports based on thread identification. This design allows for scalable and efficient parallel processing, reducing bottlenecks and enhancing overall system performance in multi-threaded computing environments.

Claim 3

Original Legal Text

3. The functional unit of claim 1 , wherein the plurality of operators comprise a plurality of registers configured to be assigned to each of the plurality of threads along a datapath to store the operation results of operations.

Plain English Translation

This invention relates to a functional unit in a computing system designed to enhance parallel processing efficiency. The system addresses the challenge of managing multiple threads in a shared datapath, where operations from different threads must be executed without conflicts or delays. The functional unit includes a plurality of operators that process operations from multiple threads concurrently. A key feature is the inclusion of a plurality of registers assigned to each thread along the datapath. These registers store the operation results of each thread, ensuring that intermediate and final results are isolated and correctly routed back to their respective threads. This prevents data corruption and ensures thread independence. The registers are dynamically assigned to threads as needed, allowing flexible resource utilization while maintaining thread-specific storage. The system optimizes performance by reducing contention for shared resources and minimizing latency in result retrieval. This approach is particularly useful in multi-threaded processors, accelerators, or specialized hardware where efficient thread management is critical. The invention improves throughput and reduces overhead in parallel processing environments.

Claim 4

Original Legal Text

4. The functional unit of claim 1 , wherein the operators are configured to perform a frequently performed operation in the functional unit.

Plain English Translation

The functional unit described earlier includes special parts designed to quickly handle operations that are used very often.

Claim 5

Original Legal Text

5. The functional unit of claim 1 , wherein the operators are configured to generate a signal that indicates a current status, and transmit the signal to the operator selector.

Plain English Translation

This invention relates to a system for managing and selecting operators within a functional unit, addressing the need for real-time monitoring and dynamic operator selection in automated or semi-automated processes. The system includes a functional unit comprising multiple operators, each capable of performing specific tasks. The operators are configured to generate a signal indicating their current status, such as operational readiness, performance metrics, or error conditions. These status signals are transmitted to an operator selector, which uses the received information to determine the most suitable operator for a given task. The selector may prioritize operators based on efficiency, availability, or other criteria derived from the status signals. This dynamic selection process ensures optimal resource allocation and minimizes downtime. The system is particularly useful in industrial automation, robotics, or any application requiring adaptive operator management. The invention improves operational efficiency by enabling real-time decision-making based on the current state of each operator, reducing manual intervention and enhancing system reliability.

Claim 6

Original Legal Text

6. A processor comprising: a processing element configured to include at least one functional unit to process a plurality of threads at a same time; a resource conflict detector configured to detect a resource conflict by determining whether at least two threads of the plurality of threads simultaneously attempt to perform an identical operation in an identical functional unit based on a comparison of opcodes of the plurality of threads, performed in a decoding operation; and a resource scheduler configured to determine a processing order of the at least two threads according to predetermined criteria in response to the resource conflict being detected, and generate a stall signal for the threads having a low priority from among the at least two threads, wherein the at least one functional unit comprises a plurality of operators configured to perform operations using operands received from the plurality of threads, wherein each of the plurality of operators is implemented as an arithmetic logical operator, and the arithmetic logical operator comprises at least one from among an adder, a multiplier, a divider and a comparator, and wherein each of the plurality of operators is configured to perform a specific arithmetic logical operation different from arithmetic logical operations performed by other operators of the plurality of operators.

Plain English Translation

This invention relates to a processor designed to efficiently manage resource conflicts when multiple threads attempt to use the same functional unit simultaneously. The processor includes a processing element with at least one functional unit capable of processing multiple threads at the same time. The functional unit contains multiple operators, such as adders, multipliers, dividers, and comparators, each performing distinct arithmetic or logical operations. A resource conflict detector monitors the threads to detect conflicts by comparing their opcodes during decoding, identifying when at least two threads try to perform the same operation in the same functional unit at the same time. If a conflict is detected, a resource scheduler determines the processing order of the conflicting threads based on predefined criteria and generates a stall signal for the lower-priority threads, temporarily halting their execution to resolve the conflict. This ensures efficient resource utilization and prevents performance degradation due to contention. The system optimizes throughput by dynamically managing thread execution based on priority and operational requirements.

Claim 7

Original Legal Text

7. The processor of claim 6 , wherein the resource conflict detector comprises: a resource information storage configured to store operator information about the at least one functional unit; an opcode comparator configured to perform the comparison of the opcodes of the plurality of threads in each of the at least one functional unit; and a resource conflict determiner configured to determine the resource conflict based on results of the comparison by the opcode comparator and the operator information stored by the resource information storage.

Plain English Translation

This invention relates to a processor system for detecting and resolving resource conflicts in a multi-threaded processing environment. The problem addressed is the efficient management of shared functional units in a processor to prevent conflicts when multiple threads attempt to use the same resources simultaneously, which can lead to performance degradation or errors. The processor includes a resource conflict detector that monitors and resolves conflicts between threads competing for the same functional units. The detector comprises a resource information storage that holds details about the functional units, including their supported operations. An opcode comparator compares the opcodes of instructions from different threads to identify potential conflicts. A resource conflict determiner evaluates the comparison results against the stored operator information to determine if a conflict exists. If a conflict is detected, the system can take corrective action, such as prioritizing one thread or delaying another. The system ensures that threads do not interfere with each other when accessing shared resources, improving processor efficiency and reliability in multi-threaded applications. The detector dynamically assesses conflicts based on real-time opcode comparisons and pre-stored resource capabilities, allowing for adaptive conflict resolution. This approach is particularly useful in high-performance computing environments where multiple threads must share limited hardware resources without performance penalties.

Claim 8

Original Legal Text

8. The processor of claim 7 , wherein the operator information comprises at least one piece of information from among types of operators, a number of operators, and status information of each operator.

Plain English Translation

This invention relates to a system for managing operator information in a processing environment, particularly for tracking and utilizing details about operators involved in a process. The system addresses the challenge of efficiently organizing and accessing operator-related data to improve workflow management and decision-making. The system includes a processor configured to handle operator information, which may include various details such as the types of operators (e.g., human, automated, or hybrid), the number of operators actively involved in a process, and the status of each operator (e.g., active, idle, or unavailable). This information is used to optimize task allocation, monitor performance, and ensure smooth operation within the system. The processor may also integrate this data with other system components to enhance coordination and efficiency. By categorizing and tracking operator types, the system can adapt to different operational requirements, such as distinguishing between manual and automated processes. The count of operators helps in balancing workloads and identifying resource gaps, while status updates enable real-time adjustments to maintain productivity. This structured approach to operator management ensures that the system can dynamically respond to changes in operator availability and capabilities, improving overall operational flexibility and reliability.

Claim 9

Original Legal Text

9. The processor of claim 6 , further comprising a queue configured to store resource conflict detection results received from the resource conflict detector.

Plain English Translation

This invention relates to a processor system designed to manage and resolve resource conflicts in computing environments. The system includes a resource conflict detector that identifies conflicts between different processing resources, such as memory access, execution units, or other shared components. The detector monitors resource usage and determines when conflicts arise, such as when multiple operations attempt to access the same resource simultaneously. To handle these conflicts, the system includes a queue that stores the detection results from the conflict detector. The queue organizes and prioritizes the detected conflicts, allowing the processor to efficiently resolve them by scheduling operations, reallocating resources, or implementing other conflict resolution strategies. The queue may also track the severity or type of conflicts, enabling the processor to prioritize critical issues first. This approach improves system performance by reducing bottlenecks and ensuring smooth operation even under high resource demand. The invention is particularly useful in multi-core processors, parallel computing systems, or any environment where multiple processing elements compete for shared resources. By detecting and managing conflicts proactively, the system enhances efficiency and prevents performance degradation.

Claim 10

Original Legal Text

10. The processor of claim 9 , further comprising a flush configured to flush the queue in response to the resource conflict detection results stored in the queue being invalid due to execution of control statements included in some of the plurality of threads.

Plain English Translation

This invention relates to processor systems that manage resource conflicts in multi-threaded execution environments. The problem addressed is the handling of invalid resource conflict detection results that occur when control statements in some threads alter the execution flow, rendering previously stored conflict detection results obsolete. The invention provides a processor with a queue that stores resource conflict detection results for multiple threads. A flush mechanism is included to clear the queue when the stored results become invalid due to control statements, such as branches or exceptions, in any of the threads. This ensures that subsequent conflict detection operations use only valid and up-to-date information, preventing incorrect resource allocation or execution errors. The flush mechanism may be triggered by detecting control statements that affect the execution flow of one or more threads, ensuring synchronization between the conflict detection system and the dynamic behavior of the threads. The invention improves the reliability and efficiency of multi-threaded processing by maintaining accurate conflict detection data.

Claim 11

Original Legal Text

11. A method of operating a processor that comprises at least one functional unit for processing a plurality of threads at a same time, each thread attempting to perform an operation, the method comprising: detecting a resource conflict by determining whether at least two threads simultaneously attempt to perform an identical operation in an identical functional unit based on a comparison of opcodes of the plurality of threads, performed in a decoding operation; determining a processing order of the at least two threads according to predetermined criteria in response to the resource conflict being detected; and stalling threads having a low priority from among the at least two threads, wherein the operation is implemented as an arithmetic logical operation, and the arithmetic logical operation comprises at least one from among an add operation, a multiplier operation, a divider operation and a comparative operation.

Plain English Translation

This invention relates to parallel processing in multi-threaded systems, specifically addressing resource conflicts when multiple threads attempt to use the same functional unit simultaneously. In modern processors, multiple threads may execute concurrently, but conflicts arise when two or more threads require the same functional unit at the same time, leading to inefficiencies. The invention detects such conflicts by comparing the opcodes of the threads during the decoding stage to identify identical operations targeting the same functional unit. Upon detecting a conflict, the method determines a processing order based on predetermined criteria, such as thread priority, and stalls lower-priority threads to resolve the contention. The operations involved are arithmetic-logical, including addition, multiplication, division, or comparison. By dynamically managing resource allocation, the invention improves processor efficiency and throughput in multi-threaded environments. The solution ensures that higher-priority threads proceed without delay while lower-priority threads are temporarily paused, optimizing overall system performance.

Claim 12

Original Legal Text

12. The method of claim 11 , wherein the detecting the resource conflict comprises: comparing the opcodes of the plurality of threads, performed in the decoding operation, for each of the at least one functional unit; and determining the resource conflict based on a result of the comparing and stored operator information.

Plain English Translation

This invention relates to conflict detection in multi-threaded processor architectures, specifically addressing the challenge of efficiently identifying resource conflicts between threads to optimize performance. The method involves analyzing opcodes from multiple threads during the decoding stage of instruction processing to detect potential conflicts for functional units in the processor. The system compares the opcodes of the threads for each functional unit and uses stored operator information to determine whether a conflict exists. This allows the processor to manage thread execution more effectively by resolving conflicts before they impact performance. The stored operator information may include details about the functional units' capabilities and the requirements of different instructions, enabling precise conflict detection. By performing this analysis during decoding, the method ensures early identification of conflicts, reducing the need for costly re-execution or stalls. The approach improves processor efficiency by minimizing resource contention and maximizing throughput in multi-threaded environments. The invention is particularly useful in high-performance computing and real-time systems where thread scheduling and resource allocation are critical.

Claim 13

Original Legal Text

13. The method of claim 12 , wherein the operator information comprises at least one piece of information from among types of operators, a number of operators, and a current status of each operator.

Plain English Translation

This invention relates to systems for managing operator information in industrial or automated environments. The problem addressed is the lack of centralized or detailed tracking of operator data, which can lead to inefficiencies in task assignment, resource allocation, and system monitoring. The invention provides a method for collecting, storing, and utilizing operator information to improve operational workflows. The method involves gathering data about operators, including their types (e.g., human, robotic, or automated systems), the number of operators available, and their current status (e.g., active, idle, or maintenance). This information is used to optimize task distribution, ensure proper resource allocation, and enhance system performance. The method may also integrate with scheduling systems to dynamically adjust operator assignments based on real-time status updates. By maintaining detailed operator records, the system enables better decision-making, reduces downtime, and improves overall productivity. The invention is particularly useful in manufacturing, logistics, or other industries where multiple operators interact with machinery or processes. The method ensures that operator data is consistently updated and accessible, allowing for seamless coordination between different system components.

Claim 14

Original Legal Text

14. The method of claim 11 , further comprising storing, in a queue, resource conflict detection results.

Plain English Translation

A system and method for managing resource conflicts in a computing environment involves detecting conflicts between multiple processes or tasks competing for shared resources. The method includes monitoring resource usage, identifying potential conflicts where multiple processes attempt to access the same resource simultaneously, and resolving these conflicts to prevent system failures or performance degradation. The system may prioritize tasks, allocate resources dynamically, or delay non-critical operations to mitigate conflicts. Additionally, the method includes storing conflict detection results in a queue for further analysis, logging, or reporting. This allows system administrators to track recurring issues, optimize resource allocation, and improve overall system efficiency. The system may operate in real-time or periodically, depending on the application requirements. By proactively detecting and resolving resource conflicts, the method ensures smooth operation of computing systems, particularly in multi-user or high-demand environments. The queuing of conflict results enables historical tracking and trend analysis, aiding in long-term system optimization.

Claim 15

Original Legal Text

15. The method of claim 14 , further comprising flushing the queue in response to the resource conflict detection results stored in the queue being invalid due to execution of control statements included in some of the plurality of threads.

Plain English Translation

This invention relates to conflict detection and resolution in multi-threaded computing environments, specifically addressing the challenge of maintaining accurate conflict detection results when control statements in threads invalidate previously stored results. In multi-threaded systems, threads often compete for shared resources, and detecting conflicts is critical for ensuring data consistency and system stability. However, control statements such as conditional branches or loops can alter the execution flow of threads, rendering previously stored conflict detection results obsolete. The invention provides a method to handle this issue by automatically flushing a queue that stores conflict detection results when those results become invalid due to the execution of control statements in any of the threads. The method involves monitoring thread execution for control statements that could invalidate stored results, detecting such invalidation, and clearing the queue to prevent the use of outdated conflict data. This ensures that conflict detection remains accurate and reliable, even as thread execution paths change dynamically. The method may also include additional steps such as re-evaluating conflicts after flushing the queue to maintain system integrity. By dynamically managing the validity of conflict detection results, the invention improves the efficiency and reliability of multi-threaded execution in computing systems.

Claim 16

Original Legal Text

16. A processor comprising: a functional unit comprising: a first operator configured to perform a first operation and generate and transmit a first current status signal; a second operator configured to perform a second operation and generate and transmit a second current status signal; and an operator selector configured to select one of the first operator and the second operator based the first current status signal, the second current status signal, and a first opcode using a first operand of a first thread, and select one of the first operator and the second operator based on the first current status signal, the second current status signal, and a second opcode using a second operand of a second thread; a resource conflict detector configured to detect a resource conflict by determining whether the first thread and the second thread simultaneously attempt to perform an identical operation based on a comparison of the first opcode and the second opcode, performed in a decoding operation; and a resource scheduler configured to determine a processing order of the first thread and the second thread by stalling one of the first thread and the second thread that is determined to have a lower priority, wherein the first operator and the second operator are implemented as arithmetic logical operators, and the arithmetic logical operators comprise at least one from among an adder, a multiplier, a divider and a comparator, and wherein the first operator and the second operator are configured to perform a different arithmetic logical operation from each other.

Plain English Translation

This invention relates to a processor architecture designed to manage resource conflicts between multiple threads executing arithmetic logical operations. The processor includes a functional unit with two operators, each performing distinct arithmetic logical operations such as addition, multiplication, division, or comparison. Each operator generates a current status signal indicating its operational state. An operator selector dynamically chooses between the two operators based on the status signals, the opcode of the operation, and the operand of the respective thread. The processor also includes a resource conflict detector that identifies conflicts when two threads attempt to perform the same operation simultaneously by comparing their opcodes during decoding. A resource scheduler resolves these conflicts by stalling the lower-priority thread, ensuring efficient resource allocation. The design optimizes performance by dynamically selecting operators and managing thread execution to prevent resource contention, particularly in multi-threaded environments where multiple threads may compete for the same arithmetic logical unit. The system ensures correct operation while minimizing delays caused by resource conflicts.

Claim 17

Original Legal Text

17. The processor of claim 16 , wherein the resource conflict detector comprises: a resource information storage configured to store operator information about the functional unit, wherein the operator information includes at least one of operator type, number of operators, and status information of each operator; an opcode comparator configured to perform the comparison of the first opcode and the second opcode; and a resource conflict determiner configured to determine the resource conflict based on results of the comparison by the opcode comparator and the operator information.

Plain English Translation

This invention relates to a processor system for detecting resource conflicts in a functional unit. The problem addressed is the need to efficiently identify and resolve conflicts when multiple operations compete for the same processing resources, which can degrade performance or cause errors. The system includes a resource conflict detector that monitors and manages resource usage to prevent such conflicts. The resource conflict detector comprises a resource information storage that stores detailed operator information about the functional unit. This information includes the type of operators, the number of operators available, and the current status of each operator. An opcode comparator is used to compare the opcodes of different operations to determine if they require the same resources. A resource conflict determiner then evaluates the comparison results alongside the stored operator information to determine whether a conflict exists. If a conflict is detected, the system can take corrective action to ensure proper operation. By tracking operator availability and comparing operation requirements, this system ensures that resource conflicts are identified early, allowing for timely intervention and maintaining efficient processor performance. The solution is particularly useful in complex processing environments where multiple operations may compete for limited resources.

Claim 18

Original Legal Text

18. The processor of claim 16 , further comprising: a queue configured to store resource conflict detection results received from the resource conflict detector; and a flush configured to flush the queue in response to the resource conflict detection results stored in the queue being invalid due to execution of control statements included in at least one of the first thread and the second thread.

Plain English Translation

This invention relates to a processor system designed to manage resource conflicts between multiple threads, particularly in scenarios where control statements (such as branches or exceptions) may invalidate previously detected conflicts. The system includes a resource conflict detector that identifies conflicts between resources accessed by a first thread and a second thread. To handle dynamic changes in execution flow, the processor incorporates a queue that stores the conflict detection results. A flush mechanism is provided to clear the queue when the stored results become invalid due to the execution of control statements in either thread. This ensures that the processor maintains accurate conflict detection, preventing incorrect resource access or performance degradation. The flush operation is triggered automatically when control statements alter the execution path, ensuring that stale conflict data does not persist. This approach improves efficiency by avoiding unnecessary conflict re-evaluations while maintaining correctness in multi-threaded environments. The system is particularly useful in high-performance computing where thread synchronization and resource management are critical.

Patent Metadata

Filing Date

Unknown

Publication Date

January 2, 2018

Inventors

Yeon-Gon CHO
Soo-jung RYU

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “FUNCTIONAL UNIT FOR SUPPORTING MULTITHREADING, PROCESSOR COMPRISING THE SAME, AND OPERATING METHOD THEREOF” (9858116). https://patentable.app/patents/9858116

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/9858116. See llms.txt for full attribution policy.