KR0180643B1 - 인터럽터 처리시간이 단축된 인터럽트 제어회로 - Google Patents

인터럽터 처리시간이 단축된 인터럽트 제어회로 Download PDF

Info

Publication number
KR0180643B1
KR0180643B1 KR1019960049992A KR19960049992A KR0180643B1 KR 0180643 B1 KR0180643 B1 KR 0180643B1 KR 1019960049992 A KR1019960049992 A KR 1019960049992A KR 19960049992 A KR19960049992 A KR 19960049992A KR 0180643 B1 KR0180643 B1 KR 0180643B1
Authority
KR
South Korea
Prior art keywords
interrupt
interrupt source
group
polling
source
Prior art date
Application number
KR1019960049992A
Other languages
English (en)
Other versions
KR19980030539A (ko
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 KR1019960049992A priority Critical patent/KR0180643B1/ko
Publication of KR19980030539A publication Critical patent/KR19980030539A/ko
Application granted granted Critical
Publication of KR0180643B1 publication Critical patent/KR0180643B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

본 발명의 목적은 인터럽트 처리시간을 단축할 수 있는 인터럽트 제어회로를 제공하는 데 있다.
본 발명에 따른 인터럽트 제어회로는 컴퓨터의 중앙처리장치에 접속되어 인터럽트가 발생한 경우 인터럽트 처리 요구 신호를 출력하고 인터럽트 소스를 폴링하는 스테이트 머신(21)과; 각각 다수의 인터럽트 소스를 포함하는 N개의 인터럽트 소스 그룹(22)과; 상기 인터럽트 소스 그룹(22)의 인터럽트 소스에 공통적으로 접속되어 인터럽트 소스 그룹별로 인터럽트 소스의 인터럽트 발생여부를 체크하여 인터럽트 발생 신호인 리퀘스트(Request)신호를 출력하는 N개의 스냅 컨트롤러(23)와; 상기 스테이트 머신(21)과 N개의 스냅 컨트롤러(23)에 접속되어 스냅 컨트롤러(23)에서 출력되는 리퀘스트 신호를 입력하여 인터럽트가 발생한 인터럽트 소스를 폴링할 것을 요구하는 인터럽트 펜딩(Pending)신호를 상기 스테이트 머신(21)으로 출력하고 폴링시 인터럽트가 발생한 인터럽트 소스 그룹(22)을 선택하는 그룹 컨트롤러(24)와; 상기 스테이트 머신(21) 및 그룹 컨트롤러(24)에 접속되어 폴링시 각 인터럽트 소스 그룹(22)의 인터럽트 소스를 순서적으로 선택하는 토큰 컨트롤러(25)로 구성되는 것을 특징으로 한다.

Description

인터럽터 처리시간이 단축된 인터럽트 제어회로
본 발명은 컴퓨터에 관한 것이며, 보다 상세하게는 컴퓨터 동작시 발생하는 인터럽트(Interrupt)를 제어하는 인터럽트 제어회로에 관한 것이다.
컴퓨터가 동작하는 동안 하드웨어 또는 소프트웨어적으로 비동기적인 사건이 자주 발생하는 바, 컴퓨터의 프로세서(Processor)는 이러한 비동기적인 사건 즉, 인터럽트를 주기적으로 체크하는 것이 아니라 인터럽트 제어회로가 인터럽트의 발생을 체크하여 인터럽트 처리를 요구하는 경우 인터럽트 처리 프로그램을 수행하도록 하여 중앙처리장치의 동작 효율을 높이고 있다.
제1도는 종래의 인터럽트 제어회로의 구성도이다.
제1도를 보면, N개의 인터럽트 소스(1)와, 상기 인터럽트 소스(1)에 일 대 일로 접속되어 인터럽터 소스에서 발생하는 인터럽트 신호를 래치하는 래치부(2)와, 상기 래치부(2) 및 중앙처리장치(도시되지 않음)에 접속되어 래치부(2)에 래치된 인터럽트 신호를 순서적으로 폴링(Polling)하고, 인터럽트 신호가 존재하는 경우 중앙처리장치로 인터럽트 처리 요구신호를 송출하는 폴링 머신(Polling Machine : 3)으로 구성된다.
제2도는 제1도의 인터럽트 제어회로의 동작과정을 도시한 플로어 챠트이다.
제2도를 보면, 폴링머신(3)은 래치부(2)를 순서적으로 폴링하여 인터럽트 신호의 존재 여부를 조사한다.
폴링머신(3)은 인터럽트 신호가 존재하는 경우 당해 인터럽트 소스에서 발생한 인터럽트를 처리하도록 중앙처리장치로 인터럽트 요구신호를 송출하고 폴링상태에서 인터럽트 서비스 상태로 전환한다.
중앙처리장치에서 인터럽트 처리가 완료되면 폴링머신(3)은 다시 폴링상태로 복귀하여 상기의 과정을 되풀이 한다.
인터럽트 제어회로는 논리적으로 구현하기가 용이하고 인터럽트 처리시간(인터럽트 소스에서 인터럽트가 발생한 후 프로세서가 인터럽트를 발견하여 그 처리를 시작하기 전가지의 시간)은 짧은 것이 바람직하지만, 종래의 인터럽트 제어회로는 인터럽트 소스가 많아질수록 인터럽트처리시간이 늘어난다는 문제점이 있었으며, 최악의 경우에는 인터럽트 소스를 모두 폴링하는 데 필요한 시간동안 인터럽트가 처리되지 않는 경우도 있다.
본 발명의 목적은 인터럽트 처리시간을 단축할 수 있는 인터럽트 제어회로를 제공하는 데 있다.
제1도는 종래의 인터럽트 제어회로의 구성도.
제2도는 제1도의 인터럽트 제어회로의 동작과정을 도시한 플로어 챠트.
제3도는 본 발명에 따른 인터럽트 제어회로의 구성도.
제4도는 제3도의 인터럽트 제어회로의 동작과정을 도시한 플로어 챠트.
* 도면의 주요부분에 대한 부호의 설명
3 : 폴링머신 21 : 스테이트 머신
22 : 인터럽트 소스 그룹 23 : 스냅 컨트롤러
24 : 그룹 컨트롤러 25 : 토큰 컨트롤러
제3도는 본 발명에 따른 인터럽트 제어회로의 구성도이다.
제3도의 인터럽트 제어회로는 컴퓨터의 중앙처리장치(도시되지 않음)에 접속되어 인터럽트가 발생한 경우 인터럽트 처리 요구 신호를 출력하고 인터럽터 소스를 폴링하는 스테이트 머신(21)과; 다수개의 인터럽트 소스를 포함하는 N개의 인터럽트 소스 그룹(22)과; 상기 인터럽트 소스 그룹(22)의 인터럽트 소스에 공통적으로 접속되어 인터럽트 소스 그룹별로 인터럽트 소스의 인터럽트 발생여부를 체크하여 인터럽트 발생 신호인 리퀘스트(Request)신호를 출력하는 N개의 스냅 컨트롤러(23)와; 상기 스테이트 머신(21)과 N개의 스냅 컨트롤러(23)에 접속되어 스냅 컨트롤러(23)에서 출력되는 리퀘스트 신호를 입력하여 인터럽트가 발생한 인터럽트 소스를 폴링할 것을 요구하는 인터럽트 펜딩(Pending)신호를 상기 스테이트 머신(21)으로 출력하고 폴링시 인터럽트가 발생한 인터럽트 소스 그룹(22)을 선택하는 그룹 컨트롤러(24)와; 상기 스테이트 머신(21) 및 그룹 컨트롤러(24)에 접속되어 폴링시 각 인터럽트 소스 그룹(22)의 인터럽트 소스를 순서적으로 선택하는 토큰 컨트롤러(25)로 구성된다.
토큰값이 증가하는 방향으로 인터럽트 우선순위가 부여된 경우, 본 발명의 인터럽트 제어회로에 따른 동작과정을 인터럽트 소스에서 발생한 인터럽트를 발견하는 단계, 인터럽트가 발생한 소스를 폴링하여 컴퓨터가 인터럽트를 처리하는 단계로 구분하여 설명한다.
먼저, 인터럽트 소스에서 발생한 인터럽트를 발견하는 단계를 설명한다.
스냅 컨트롤러(23)는 스냅 온(Snap On)신호를 발생하여 각 인터럽트 소스 그룹(22)내의 인터럽트 소스에 대하여 인터럽트의 발생여부를 스냅하여, 스냅값(인터럽트가 존재하는 경우 1)을 래치한다.
스냅 컨트롤러(23)는 스냅값을 논리합하여 1인 경우 리퀘스트(Request) 신호 및 라스트 래치(Last Latch)신호(인터럽트가 해당 그룹의 마지막 소스에서 발생한 경우)를 그룹 컨트롤러(24)로 출력한다.
그룹 컨트롤러(24)는 각 스냅 컨트롤러(23)로부터 입력한 리퀘스트 신호를 논리합하여 1인 경우 스테이트 머신(24)으로 인터럽터 펜딩(Pending)신호를 출력한다. 인터럽트 펜딩신호는 컴퓨터가 발생한 인터럽트의 처리를 완료할 때까지 유지된다.
인터럽트 펜딩신호를 받은 스테이트 머신(24)은 아이들(Idle)상태에서 인터럽트가 발생한 인터럽트 소스를 폴링상태로 전환한다.
리퀘스트 신호를 출력한 스냅 컨트롤러를 포함한 모든 스냅 컨트롤러(23)는 인터럽트 펜딩신호의 발생시부터 컴퓨터가 인터럽트의 처리를 완료할 때까지 스냅오프(Sna off)신호를 발생하여 스냅값을 유지한다.
컴퓨터가 인터럽트가 발생한 인터럽트 소스를 폴링하여 인터럽트를 처리하는 단계를 설명한다.
스테이트 머신(24)은 인터럽트 소스 그룹(22)의 인터럽트 소스를 순서적으로 폴링한다. 토큰 컨트롤러(25)는 토큰값이 인터럽트 소스 그룹(22)의 마지막 인터럽트 소스에 해당하는 값을 가지는 경우 마지막 인터럽트 소스를 폴링하고 있다는 것을 표시하는 라스트 폴(Last Poll)신호를 그룹 컨트롤러(24)로 출력한다.
폴링하는 순서를 상세히 설명하면, 먼저 현재의 인터럽트 소스그룹(22)에서 리퀘스트 신호를 발견하면 초기화 상태인 경우에는 1번째 그룹의 1번째 인터럽트 소스부터, 이전에 인터럽트가 발생하여 처리된 경우에는 인터럽트가 발생하여 처리된 직전의 인터럽트 소스 그룹의 토큰값에 해당하는 인터럽트 소스부터 순서적으로 폴링(이하 제1폴링이라 함)한다. 리퀘스트 신호가 있고 라스트 폴 신호가 없는 경우, 리퀘스트 신호, 라스트 래치신호 및 라스트 폴 신호가 있는 경우에는 인터럽트 소스 그룹의 변경이 이루어지지 않는다.
현재의 인터럽트 소스그룹(22)에서 리퀘스트 신호를 발견하지 못하면 그룹 컨트롤러(24)를 그룹 무브(Group Move)신호를 발생시켜 폴링할 인터럽트 소스그룹을 리퀘스트 신호를 출력한 인터럽트 소스 그룹으로, 토큰 컨트롤러(25)의 토큰값을 1번째 인터럽트 소스에 해당하는 값을 변경한다. 스테이트 머신(21)은 리퀘스트 신호를 출력한 인터럽트 소스 그룹의 1번째 인터럽트 소스부터 순서적으로 폴링(이하 제2폴링이라 함)을 한다. 이 때에도 리퀘스트 신호가 있고 라스트 폴 신호가 없는 경우, 리퀘스트 신호, 라스트 래치신호 및 라스트 폴 신호가 있는 경우에는 인터럽트 소스 그룹의 변경이 이루어지지 않는다.
현재의 인터럽트 소스그룹(22)에서 리퀘스트 신호를 발견하고, 제1폴링에서 인터럽트가 발생한 인터럽트 소스를 확인하지 못하면, 그룹 컨트롤러(24)는 그룹 무브 신호를 발생시켜 폴링할 인터럽트 소스 그룹을 제1폴링이 이루어진 인터럽트 소스 그룹으로, 토큰 컨트롤러의 토큰값을 1번째 인터럽트 소스에 해당하는 값으로 변경한다. 스테이트 머신(21)은 제1폴링이 이루어진 인터럽트 소스 그룹의 1번째 인터럽트 소스부터 제1폴링이 개시된 인터럽트 소스 바로 앞 인터럽트 소스까지 순서적으로 폴링(이하 제3폴링이라 함)한다.
제1폴링, 제2폴링 또는 제3폴링단계에서 토큰 컨트롤러(25)는 토큰값이 인터럽트가 발생한 인터럽트 소스에 해당하는 경우 스테이트 머신(21)으로 어서트(Assert)신호를 출력하고, 그렇지 않은 경우 토큰 인에이블(Token Enable)신호를 발생시켜 토큰값을 증가시킨다. 제1폴링, 제2폴링 또는 제3폴링에서 그룹 컨트롤러(24)는 인터럽트가 발생한 스냅 컨트롤러(23)로 인터럽트가 발생한 그룹을 찾았다는 것을 표시하는 그랜트(Grant)신호를 출력한다.
어서트 신호를 받은 스테이트 머신(21)은 폴링상태에서 인터럽트 서비스 상태로 전환되고 컴퓨터는 인터럽트 처리 프로그램에 따라 인터럽터를 처리한다.
컴퓨터가 인터럽트 처리를 완료한 후 그룹 컨트롤러(24)로부터 그랜트 신호를 입력하면 스냅 컨트롤러(23)는 스냅 클리어(Snap Clear)신호를 출력하여 인터럽트가 발생한 인터럽트 소스에 해당하는 스냅 컨트롤러(23)의 스냅값을 0으로 변경시킨다. 이 때 어서트 신호도 소멸하고 인터럽터의 처리는 완료된다.
스테이트 머신(21)은 인터럽트가 동시에 다수 발생하여 인터럽트가 남아있는 경우 인터럽트 펜딩신호를 입력하여 폴링상태로 전환되어 상기와 같은 과정을 되풀이하고, 인터럽트가 없는 경우에는 아이들 상태로 전환되어 그룹 컨트롤러(24)에서 인터럽트 펜딩신호가 출력되기를 기다린다.
상술한 바와 같이, 본 발명에서는 인터럽트가 발생한 인터럽트 소스를 폴링하는 데 모든 인터럽트 소스를 순서적으로 폴링하는 방식과는 달리, 인터럽트 소스를 다수의 인터럽트 소스그룹으로 구분하여 인터럽트가 발생한 경우 먼저 인터럽트가 발생한 인터럽트 소스 그룹을 선택한 후 인터럽트가 발생한 인터럽트 소스를 폴링하도록 함으로써, 인터럽트 처리시간을 단축할 수 있다.

Claims (2)

  1. 컴퓨터의 중앙처리장치에 접속되어 인터럽트가 발생한 경우 인터럽트 처리 요구 신호를 출력하고 인터럽터 소스를 폴링하는 스테이트 머신(21)과; 각각 다수의 인터럽트 소스를 포함하는 N개의 인터럽트 소스 그룹(22)과; 상기 인터럽트 소스 그룹(22)의 인터럽트 소스에 공통적으로 접속되어 인터럽트 소스 그룹별로 인터럽트 소스의 인터럽트 발생여부를 체크하여 인터럽트 발생 신호인 리퀘스트(Request)신호를 출력하는 N개의 스냅 컨트롤러(23)와; 상기 스테이트 머신(21)과 N개의 스냅 컨트롤러(23)에 접속되어 스냅 컨트롤러(23)에서 출력되는 리퀘스트 신호를 입력하여 인터럽트가 발생한 인터럽트 소스를 폴링할 것을 요구하는 인터럽트 펜딩(Pending)신호를 상기 스테이트 머신(21)으로 출력하고 폴링시 인터럽트가 발생한 인터럽트 소스 그룹(22)을 선택하는 그룹 컨트롤러(24)와; 상기 스테이트 머신(21) 및 그룹 컨트롤러(24)에 접속되어 폴링시 각 인터럽트 소스 그룹(22)의 인터럽트 소스를 순서적으로 선택하는 토큰 컨트롤러(25)로 구성되는 것을 특징으로 하는 인터럽트 제어회로.
  2. 제1항에 있어서, 스테이트 머신(21)의 폴링방법은 현재의 인터럽트 소스그룹(22)에서 리퀘스트 신호를 발견하고 초기화 상태인 경우에는 1번째 그룹의 1번째 인터럽트 소스부터, 현재의 인터럽트 소스그룹(22)에서 리퀘스트 신호를 발견하고 이전에 인터럽트가 발생하여 처리된 경우에는 인터럽트가 발생하여 처리된 직전의 인터럽트 소스 그룹(22)의 토큰값에 해당하는 인터럽트 소스부터 순서적으로 폴링하는 제1폴링과; 현재의 인터럽트 소스그룹(22)에서 리퀘스트 신호를 발견하지 못한 경우 리퀘스트 신호를 출력한 인터럽트 소스 그룹의 1번째 인터럽트 소스부터 순서적으로 폴링하는 제2폴링과; 현재의 인터럽트 소스그룹(22)에서 리퀘스트 신호를 발견하고, 제1폴링에서 인터럽트가 발생한 인터럽트 소스를 확인하지 못한 경우 제1폴링이 이루어진 인터럽트 소스 그룹의 1번째 인터럽트 소스부터 제1폴링이 개시된 인터럽트 소스 바로 앞 인터럽트 소스까지 순서적으로 폴링하는 제3폴링으로 구성되는 것을 특징으로 하는 인터럽트 제어회로.
KR1019960049992A 1996-10-30 1996-10-30 인터럽터 처리시간이 단축된 인터럽트 제어회로 KR0180643B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960049992A KR0180643B1 (ko) 1996-10-30 1996-10-30 인터럽터 처리시간이 단축된 인터럽트 제어회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960049992A KR0180643B1 (ko) 1996-10-30 1996-10-30 인터럽터 처리시간이 단축된 인터럽트 제어회로

Publications (2)

Publication Number Publication Date
KR19980030539A KR19980030539A (ko) 1998-07-25
KR0180643B1 true KR0180643B1 (ko) 1999-05-15

Family

ID=19479717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960049992A KR0180643B1 (ko) 1996-10-30 1996-10-30 인터럽터 처리시간이 단축된 인터럽트 제어회로

Country Status (1)

Country Link
KR (1) KR0180643B1 (ko)

Also Published As

Publication number Publication date
KR19980030539A (ko) 1998-07-25

Similar Documents

Publication Publication Date Title
US5629694A (en) Computer keyboard with power control key
JPS63238630A (ja) マイクロプロセツサの割込み制御装置
KR0180643B1 (ko) 인터럽터 처리시간이 단축된 인터럽트 제어회로
JPH1153201A (ja) 複数の割込みを処理する方法及び装置
JPH04316148A (ja) 割込回路
JPH0675819A (ja) マイクロプロセッサ
JP2706390B2 (ja) 複数スカラユニットによるベクトルユニット使用権切換え制御方式
JPH0644178A (ja) 割込み制御装置
JPH04209020A (ja) マイクロコンピュータ
JP2002373035A (ja) リセット信号発生方法およびリセット信号発生装置
JPH04167043A (ja) 携帯型電子機器
KR960016407B1 (ko) Mcu내의 인터럽트 신호 발생회로
JPS63149720A (ja) キ−ボ−ド装置
JPS59216254A (ja) 割込みレベル制御方式
JPS6220060A (ja) 優先選択制御回路
KR970004257B1 (ko) 다종 폴트발생시스템의 이중화제어회로
JPS61136115A (ja) マイクロコンピユ−タシステムの基本クロツク発生回路
EP0335373A2 (en) Hardware status switching input control system
JPH02216574A (ja) マルチプロセッサシステム
JPH0528013A (ja) 入出力制御装置における高負荷状態評価回路
JPH03184148A (ja) 割込み装置
JPH11110231A (ja) 割込み制御方式
JPH0365746A (ja) 入出力制御装置
JPH03167633A (ja) 割り込みプログラム管理方法
KR19990055561A (ko) 인터럽트 처리장치

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: 20121115

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20131115

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee