KR100411113B1 - Method For Processoring of Multi Thread - Google Patents

Method For Processoring of Multi Thread Download PDF

Info

Publication number
KR100411113B1
KR100411113B1 KR10-2001-0053492A KR20010053492A KR100411113B1 KR 100411113 B1 KR100411113 B1 KR 100411113B1 KR 20010053492 A KR20010053492 A KR 20010053492A KR 100411113 B1 KR100411113 B1 KR 100411113B1
Authority
KR
South Korea
Prior art keywords
thread
processing
routine
event
object file
Prior art date
Application number
KR10-2001-0053492A
Other languages
Korean (ko)
Other versions
KR20030018891A (en
Inventor
김종헌
Original Assignee
현대자동차주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사 filed Critical 현대자동차주식회사
Priority to KR10-2001-0053492A priority Critical patent/KR100411113B1/en
Publication of KR20030018891A publication Critical patent/KR20030018891A/en
Application granted granted Critical
Publication of KR100411113B1 publication Critical patent/KR100411113B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Abstract

본 발명은 하나의 인터럽트 신호에 다수개의 서비스 루틴이 배정되어 다중 프로세싱이 수행되도록 하는 멀티 스레드 처리방법에 관한 것이다.The present invention relates to a multi-thread processing method in which a plurality of service routines are assigned to one interrupt signal so that multiple processing is performed.

본 발명은 특정 루틴 처리를 위한 프로세스가 생성되면 해당 프로세스는 초기 수행 스레드를 생성함과 동시 스레드 내에 각 동기화 이벤트 목적 파일을 생성시켜 등록하는 과정과, 이벤트 목적 파일이 포함되는 이벤트 대기용 스레드를 생성한 다음 동기화 이벤트 목적 파일과 이벤트 목적 파일을 인터럽트 연결하는 과정과, 해당 루틴 처리를 위한 스케줄용 스레드를 생성한 다음 하드웨어로부터 임의의 루틴 처리를 위한 인터럽트 신호의 입력을 대기하는 과정과, 인터럽트 신호의 입력이 검출되면 각 이벤트의 해당 목적 파일을 시그널 상태로 천이시켜 스케줄용 스레드의 루틴 처리를 실행시키는 과정 및, 루틴 처리된 스레드는 비 신호의 상태로 동기화 이벤트를 설정하는 과정을 포함하는 것을 특징으로 한다.According to the present invention, when a process for processing a specific routine is generated, the process creates an initial execution thread, creates and registers each synchronization event object file in a concurrent thread, and creates a thread for event waiting including an event object file. Interrupt linking the synchronization event destination file with the event destination file, creating a schedule thread for processing the routine, and then waiting for input of an interrupt signal for processing of any routine from the hardware. Transitioning the corresponding object file of each event to a signal state when the input is detected, executing routine processing of the schedule thread, and setting the synchronization event to a non-signal state of the routine thread; do.

따라서, 다른 프로세스 및 스레드의 루틴 처리에 방해를 주지 않으므로 프로세스를 효율적으로 사용함과 동시에 스레드 개수 만큼의 하드웨어 인터럽트 신호를 모두 생성할 필요가 없는 효율성을 제공한다.Therefore, it does not interfere with the routine processing of other processes and threads, thus providing efficient use of the process and eliminating the need to generate as many hardware interrupt signals as the number of threads.

Description

멀티 스레드 처리방법{Method For Processoring of Multi Thread}Method For Processoring of Multi Thread}

본 발명은 하나의 인터럽트 신호에 다수개의 서비스 루틴이 배정되어 다중 프로세싱이 수행되도록 하는 멀티 스레드 처리방법에 관한 것이다.The present invention relates to a multi-thread processing method in which a plurality of service routines are assigned to one interrupt signal so that multiple processing is performed.

일반적으로 하나의 하드웨어 시스템내에서는 하나 이상의 프로세스가 생성되며, 또 각 프로세스는 하나 이상의 스레드를 생성 및 실행시켜 처리 대상 작업을 일련의 순차 방법으로써 수행한다.In general, one or more processes are created within a hardware system, and each process creates and executes one or more threads to perform a task to be processed in a series of sequential methods.

이와 같은 종래 시스템의 하드웨어는 인터럽트 신호에 대하여 하나의 서비스 루틴만이 배정되며, 이에 대응하는 하나의 프로세스 및 스레드 생성을 통해 해당하는 작업이 수행되도록 하고 있기 때문에 다수의 서비스 루틴을 수행하여야 하는 경우 여러개의 프로세스를 생성시켜야 하고, 동일 개수의 하드웨어 신호를 필요로 하므로 프로세서를 효율적으로 사용하지 못하는 문제점이 발생되며, 반복적인 인터럽트의 발생으로 인하여 시스템의 효율성이 저하되는 문제점이 있다.In the hardware of the conventional system, only one service routine is assigned to the interrupt signal, and corresponding processes are performed by creating one process and thread corresponding thereto. It is necessary to generate a process, and the same number of hardware signals are required, which causes a problem in that the processor cannot be efficiently used, and the efficiency of the system is degraded due to the occurrence of repetitive interrupts.

본 발명은 상기와 같은 문제점을 해결하기 위하여 발명한 것으로, 그 목적은 프로세서에 하나의 인터럽트 신호가 인가되면 그 신호에 대하여 각 스레드를 동작시키기 위한 해당 스레드와 동기화 목적 파일을 미리 생성 등록시켜 하나의 인터럽트 신호로 다중 프로세싱이 수행되도록 한 것이다.The present invention has been invented to solve the above problems, and its object is to generate and register a synchronization object file and a corresponding thread for operating each thread in advance when one interrupt signal is applied to the processor. The interrupt signal allows multiple processing to be performed.

도 1은 본 발명에 따른 멀티 스레드 처리방법을 보이는 상태 천이도.1 is a state transition diagram showing a multi-thread processing method according to the present invention.

도 2는 본 발명에 따른 멀티 스레드 처리방법의 수행 예를 보이는 흐름도.2 is a flowchart showing an example of performing a multi-thread processing method according to the present invention.

상기와 같은 목적을 실현하기 위한 본 발명은 특정 루틴 처리를 위한 프로세스가 생성되면 해당 프로세스는 초기 수행 스레드를 생성함과 동시 스레드 내에 각 동기화 이벤트 목적 파일을 생성시켜 등록하는 과정과;The present invention for realizing the above object is a process for creating a process for processing a specific routine, the process is to create an initial execution thread and to create and register each synchronization event object file in the same thread;

이벤트 목적 파일이 포함되는 이벤트 대기용 스레드를 생성한 다음 동기화 이벤트 목적 파일과 이벤트 목적 파일을 인터럽트 연결하는 과정과;Generating an event waiting thread including an event object file and then interrupt-connecting the synchronization event object file and the event object file;

해당 루틴 처리를 위한 스케줄용 스레드를 생성한 다음 하드웨어로부터 임의의 루틴 처리를 위한 인터럽트 신호의 입력을 대기하는 과정과;Creating a schedule thread for processing the routine and waiting for input of an interrupt signal for processing of any routine from hardware;

인터럽트 신호의 입력이 검출되면 각 이벤트의 해당 목적 파일을 시그널 상태로 천이시켜 스케줄용 스레드의 루틴 처리를 실행시키는 과정 및;Transitioning a corresponding object file of each event to a signal state when input of an interrupt signal is detected, and executing routine processing of a scheduling thread;

루틴 처리된 스레드는 비 신호의 상태로 동기화 이벤트를 설정하는 과정을 포함하는 것을 특징으로 한다.The routinely processed thread may include setting a synchronization event to a non-signal state.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세하게 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 및 도 2에서 알 수 있는 바와 같이 본 발명에 따른 멀티 스레드 처리방법은 특정의 루틴을 처리하기 위하여 프로세스가 생성되면(S101) 프로세스는 초기에 수행할 스레드(10)를 생성함과 동시에 스레드(10)내에 해당 이벤트 동기화 목적 파일(11)을 각각 생성하여 등록하고(S102), 해당 각 이벤트 목적 파일(21)이 포함되는 이벤트 대기용 스레드(20)를 생성하여 각 이벤트 목적 파일(21)과 동기화 목적 파일(11)을 인터럽트 연결한다(S103).As can be seen in Figures 1 and 2, in the multi-thread processing method according to the present invention, when a process is created to process a specific routine (S101), the process creates a thread 10 to be performed initially and simultaneously a thread. Generate and register the corresponding event synchronization object file 11 in (10) (S102), and create an event waiting thread 20 that includes the corresponding event object file 21, thereby generating each event object file 21. And interrupt connection 11 to the synchronization object file (S103).

이후, 특정 루틴을 처리하기 위한 스케줄용 스레드(30)를 생성한 다음(S104) 하드웨어(100)로부터의 인터럽트 신호 입력을 대기하며(S105), 하드웨어(100)로부터의 특정 루틴 처리를 요구하는 인터럽트 신호가 스레드(10)에 검출되면 해당 스레드(10)는 인터럽트 신호에 포함되어 있는 다중 프로세싱 요구 신호를 분석한 후 각각의 동기화 목적 파일(11)을 통해 실행조건에 따른 동기화 이벤트를 발생하여 이벤트 대기용 스레드(20)의 각 이벤트 목적 파일(21)에 인터럽트를 걸어준다.Thereafter, a schedule thread 30 for processing a specific routine is generated (S104), and then waits for input of an interrupt signal from the hardware 100 (S105), and an interrupt requesting processing of a specific routine from the hardware 100 is performed. When a signal is detected by the thread 10, the thread 10 analyzes the multi-processing request signal included in the interrupt signal and then generates a synchronization event according to the execution condition through each synchronization object file 11 to wait for an event. The event target file 21 of the thread 20 is interrupted.

이때, 인터럽트를 인가받은 각각의 이벤트 목적 파일(21)은 시그널 상태로 천이하여(S107) 스케줄용 스레드(30)에 동기화 이벤트를 제공하며(S106), 시그널을 인가받은 스케줄용 스레드(30)는 인터럽트 요청된 각각의 해당 루틴을 처리한 후 비 신호(Non-Signal)의 상태로 동기화 이벤트를 설정한다(S108).At this time, each event object file 21 which received the interrupt transitions to a signal state (S107) and provides a synchronization event to the schedule thread 30 (S106), and the schedule thread 30 that receives the signal is After processing the corresponding routine requested for the interrupt, the synchronization event is set to a non-signal state (S108).

상술한 바와 같이 본 발명은 하나의 인터럽트 신호를 통해 다중 프로세싱을 수행할 수 있어 인터럽트 신호를 효율적으로 사용함과 동시에 다른 프로세스 및 스레드의 루틴 처리에 방해를 주지 않으므로 프로세스의 처리 속도를 향상시켜 빠른 응답성을 제공한다.As described above, the present invention can perform multiple processing through one interrupt signal, thereby efficiently using the interrupt signal and not interrupting routine processing of other processes and threads. To provide.

본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 보호 범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent embodiments are possible. Therefore, the true scope of protection of the present invention should be defined only by the appended claims.

Claims (1)

특정 루틴 처리를 위한 프로세스가 생성되면 해당 프로세스는 초기 수행 스레드를 생성함과 동시 스레드 내에 각 동기화 이벤트 목적 파일을 생성시켜 등록하는 과정과;When a process for processing a specific routine is generated, the process creates an initial execution thread and creates and registers each synchronization event object file in a concurrent thread; 이벤트 목적 파일이 포함되는 이벤트 대기용 스레드를 생성한 다음 동기화 이벤트 목적 파일과 이벤트 목적 파일을 인터럽트 연결하는 과정과;Generating an event waiting thread including an event object file and then interrupt-connecting the synchronization event object file and the event object file; 해당 루틴 처리를 위한 스케줄용 스레드를 생성한 다음 하드웨어로부터 임의의 루틴 처리를 위한 인터럽트 신호의 입력을 대기하는 과정과;Creating a schedule thread for processing the routine and waiting for input of an interrupt signal for processing of any routine from hardware; 인터럽트 신호의 입력이 검출되면 각 이벤트의 해당 목적 파일을 시그널 상태로 천이시켜 스케줄용 스레드의 루틴 처리를 실행시키는 과정 및;Transitioning a corresponding object file of each event to a signal state when input of an interrupt signal is detected, and executing routine processing of a scheduling thread; 루틴 처리된 스레드는 비 신호의 상태로 동기화 이벤트를 설정하는 과정을 포함하는 것을 특징으로 하는 멀티 스레드 처리방법.The routine-processed thread includes setting a synchronization event to a non-signal state.
KR10-2001-0053492A 2001-08-31 2001-08-31 Method For Processoring of Multi Thread KR100411113B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0053492A KR100411113B1 (en) 2001-08-31 2001-08-31 Method For Processoring of Multi Thread

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0053492A KR100411113B1 (en) 2001-08-31 2001-08-31 Method For Processoring of Multi Thread

Publications (2)

Publication Number Publication Date
KR20030018891A KR20030018891A (en) 2003-03-06
KR100411113B1 true KR100411113B1 (en) 2003-12-18

Family

ID=27721985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0053492A KR100411113B1 (en) 2001-08-31 2001-08-31 Method For Processoring of Multi Thread

Country Status (1)

Country Link
KR (1) KR100411113B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100763200B1 (en) * 2006-02-24 2007-10-04 삼성전자주식회사 Method and apparatus for interruptible synchronization for thread
KR100966711B1 (en) * 2008-07-03 2010-06-29 강민구 a bottle cap

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515538A (en) * 1992-05-29 1996-05-07 Sun Microsystems, Inc. Apparatus and method for interrupt handling in a multi-threaded operating system kernel
JPH1173334A (en) * 1997-08-29 1999-03-16 Sony Corp Data processing method, recording medium and data processor
EP0909094A1 (en) * 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor
JPH11282815A (en) * 1998-03-31 1999-10-15 Nec Corp Multi-thread computer system and multi-thread execution control method
US6061710A (en) * 1997-10-29 2000-05-09 International Business Machines Corporation Multithreaded processor incorporating a thread latch register for interrupt service new pending threads

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515538A (en) * 1992-05-29 1996-05-07 Sun Microsystems, Inc. Apparatus and method for interrupt handling in a multi-threaded operating system kernel
JPH1173334A (en) * 1997-08-29 1999-03-16 Sony Corp Data processing method, recording medium and data processor
EP0909094A1 (en) * 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor
US6061710A (en) * 1997-10-29 2000-05-09 International Business Machines Corporation Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
JPH11282815A (en) * 1998-03-31 1999-10-15 Nec Corp Multi-thread computer system and multi-thread execution control method

Also Published As

Publication number Publication date
KR20030018891A (en) 2003-03-06

Similar Documents

Publication Publication Date Title
US7926062B2 (en) Interrupt and exception handling for multi-streaming digital processors
EP1685486B1 (en) Interrupt handling in an embedded multi-threaded processor to avoid priority inversion and maintain real-time operation
WO2009147802A1 (en) Priority controller and priority control method
US7627705B2 (en) Method and apparatus for handling interrupts in embedded systems
US8386684B2 (en) Data processing system and method of interrupt handling
KR100411113B1 (en) Method For Processoring of Multi Thread
US7007004B2 (en) Concurrent operation of a state machine family
CN111158875B (en) Multi-module-based multi-task processing method, device and system
JP2006146758A (en) Computer system
US8095695B2 (en) Control apparatus for process input-output device
US20020116601A1 (en) Method, a system and a computer program product for manipulating an instruction flow in a pipeline of a processor
JP2001337822A (en) Instruction buffer and buffer queue control
US20030023799A1 (en) Interrupt processing apparatus
WO2000070482A1 (en) Interrupt and exception handling for multi-streaming digital processors
WO2019188175A1 (en) Deadlock avoidance method and deadlock avoidance device
CN116645263B (en) Graphic processing unit
US20080288952A1 (en) Processing apparatus and device control unit
KR100229427B1 (en) Apparatus for generating interrupt signals
KR100401613B1 (en) Method for real-time processing of general purpose operating system
JP2006146641A (en) Multi-thread processor and multi-thread processor interruption method
KR101061133B1 (en) Interrupt handling system
JP2000029850A (en) Task controlling method using inter-processor communication of operating system
JPH01177133A (en) Event information system
JPS6214255A (en) Multi processing system for input output interruption
JPH03230245A (en) Input/output processing system for electronic computer system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20061201

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee