KR100302585B1 - 비동기인터럽트제어기 - Google Patents

비동기인터럽트제어기 Download PDF

Info

Publication number
KR100302585B1
KR100302585B1 KR1019970080341A KR19970080341A KR100302585B1 KR 100302585 B1 KR100302585 B1 KR 100302585B1 KR 1019970080341 A KR1019970080341 A KR 1019970080341A KR 19970080341 A KR19970080341 A KR 19970080341A KR 100302585 B1 KR100302585 B1 KR 100302585B1
Authority
KR
South Korea
Prior art keywords
interrupt
register
status
mode
mask
Prior art date
Application number
KR1019970080341A
Other languages
English (en)
Other versions
KR19990060120A (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 KR1019970080341A priority Critical patent/KR100302585B1/ko
Publication of KR19990060120A publication Critical patent/KR19990060120A/ko
Application granted granted Critical
Publication of KR100302585B1 publication Critical patent/KR100302585B1/ko

Links

Images

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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30116Shadow registers, e.g. coupled registers, not forming part of the register space
    • 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/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Landscapes

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

Abstract

본 발명은 비동기 인터럽트 제어기에 관한 것으로, 종래의 기술에 있어서는 선인터럽트 요청기의 인터럽트 소스의 수가 한 개로 제한되어 있고, 모든 인터럽트 소스입력은 레벨 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안한 것으로, 모든 인터럽트 소스 입력의 액티브 모드를 레벨 센시티브 모드와 에지 트리거 모드 중에서 선택할 수 있도록 하고, 인터럽트의 종류를 선인터럽트 요청기(First Interrupt reQuest : 이하, FIQ)와 인터럽트 요청기(이하, IRQ) 중에서 선택할 수 있도록 하며, 인터럽트 우선순위를 결정하는 기능을 소프트웨어의 제어하에 FIQ 마스크 레지스터와 IRQ 마스크 레지스터를 이용하여 전력의 소모량을 감소시키는 장치를 제공함으로써, 모든 인터럽트 소스 입력의 액티브 모드를 레벨 센시티브 모드와 에지 트리거 모드 중에서 선택할 수 있도록 하고, 인터럽트의 종류를 선인터럽트 요청기(FIQ)와 인터럽트 요청기(IRQ) 중에서 선택할 수 있도록 하며, 인터럽트 우선순위를 결정하는 기능을 소프트웨어의 제어하에 FIQ 마스크 레지스터와 IRQ 마스크 레지스터를 이용하게 함으로써, 동작 전력의 소모량을 감소시키는 효과가 있다.

Description

비동기 인터럽트 제어기{ASYNCHRONOUS INTERRUPT CONTROLLER}
본 발명은 비동기 인터럽트 제어기에 관한 것으로, 특히 마이크로 제어장치(Micro Controller Unit : MCU) 내부에 반드시 필요한 인터럽트 제어기 모듈(interrupt controller module)에 있어서, 클럭입력이 없는 비동기형으로 구성하여 전력의 소모량을 감소시키는 비동기 인터럽트 제어기에 관한 것이다.
도 1은 종래 인터럽트 제어기의 구성을 보인 블록도로서, 이에 도시된 바와 같이 선인터럽트 요청기(First Interrupt reQuest : FIQ, 13)는 한 개의 비트만 할당하여 인터럽트 핸드링(Handling)시 운선순위(priority)를 결정하는 단계가 필요없이 인터럽트 서비스 루틴을 바로 수행하게 하고, 인터럽트 요청기(IRQ, 12)는 기본적으로 6개의 인터럽트 요청라인을 사용할 수 있으나, 이 경우에는 인터럽트 요청기(12)에서 'VHDL'코드를 수정하여 최대 32비트를 할당함으로써, 인터럽트 소스라인을 확장할 수 있도록 되어 있으며, 내부 데이터 버스와 어드레스 버스를 통해 인터럽트 제어기(10) 내부 레지스터를 액세스할 수 있고, 인터럽트 소스 상태는 마스킹(Masking)을 하기 이전에 적당한 인터럽트 소스가 액티브 되었는지를 나타내며, 인터럽트 요청 상태는 인터럽트 소스로 인하여 프로세서에서 인터럽트 작업이 수행되는지를 나타낸다.
그리고, 인에이블 레지스터(미도시)에는 세팅(setting)과 클리어링(clearing)을 위한 인에이블 비트가 각각 할당되어 있어 각각 독립적으로 세트시키거나 클리어 시킬 수 있다.
6개의 인터럽트 요청기(IRQ)의 인터럽트 요청라인은 노아조합되어 소정의 인터럽트 요청기(nIRQ)로 출력되며, 모든 인터럽트 소스 입력은 액티브 '로우'여야 하고, 인터럽트 소스는 'B_CLK'에 의해 래치되어 있으며, 인터럽트 우선순위를 결정하는 기능을 소프트웨어로 구현하므로, 하드웨어적인 회로나 인터럽트 백터 형태가 없다.
상기와 같이 종래의 기술에 있어서는 선인터럽트 요청기의 인터럽트 소스의 수가 한 개로 제한되어 있고, 모든 인터럽트 소스입력은 레벨 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안한 것으로, 모든 인터럽트 소스 입력의 액티브 모드를 레벨 센시티브 모드와 에지 트리거 모드 중에서 선택할 수 있도록 하고, 인터럽트의 종류를 선인터럽트 요청기(First Interrupt reQuest : 이하, FIQ)와 인터럽트 요청기(이하, IRQ) 중에서 선택할 수 있도록 하며, 인터럽트 우선순위를 결정하는 기능을 소프트웨어의 제어하에 FIQ 마스크 레지스터와 IRQ 마스크 레지스터를 이용하게 함으로써, 전력의 소모량을 감소시키는 장치를 제공함에 그 목적이 있다.
도 1은 종래 인터럽트 제어기의 구성을 보인 블록도.
도 2는 본 발명 비동기 인터럽트 제어기의 구성을 보인 블록도.
도 3은 본 발명 비동기 인터럽트 제어기의 전체 인터럽트 제어 흐름도.
*도면의 주요 부분에 대한 부호의 설명*
10, 100 : 인터럽트 제어기 11, 120 : 버스 인터페이스
12 : IRQ 제어부 13 : FIQ 제어부
101 : 제어부 102 : 마스크 레지스터
103 : 트리거 모드 레지스터 104 : 트리거 극성 레지스터
105 : 방향 레지스터 106 : FIQ 상태 레지스터
107 : IRQ 상태 레지스터 108 : FIQ 마스크 레지스터
109 : IRQ 마스크 레지스터 110 : 상태 클리어 레지스터
이와 같은 목적을 달성하기 위한 본 발명 비동기 인터럽트 제어기의 구성은, 비동기 인터럽트 제어기의 전체 동작을 제어하는 제어부와; 인터럽트 소오스 입력을 마스크 또는 언마스크 시키는 마스크 레지스터와; 인터럽트 소오스 입력의 트리거 모드를 결정하는 트리거 모드 레지스터와; 인터럽트 요청신호의 액티브 모드를 결정하는 트리거 극성 레지스터와; 각 인터럽트 소오스가 선인터럽트 요청기와 인터럽트 요청기 중 어느 것을 구동할 것인지를 결정하는 방향 레지스터와; 할당된 인터럽트 소오스가 액티브 되었는지 상태를 표시하는 선인터럽트 및 인터럽트 요청기 상태레지스터와; 프로세서로 내보내는 인터럽트 요구신호를 마스크 또는 언마스크시키는 선인터럽트 및 인터럽트 요청기 마스크 레지스터와; 인터럽트 소오스 입력의 트리거 모드가 에지 트리거 모드일 경우 해당하는 인터럽트 상태 레지스터의 값을 클리어하는 상태 클리어레지스터와; 상기 제어부의 제어에 의해 상기 각 레지스터들과 내부 데이터버스와의 인터페이스를 하는 버스인터페이스로 구성함을 특징으로 한다.
이하, 본 발명에 따른 일실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도 2는 본 발명 비동기 인터럽트 제어기의 구성을 보인 블록도로서, 이에 도시한 바와 같이 비동기 인터럽트 제어기(100)의 전체 동작을 제어하는 제어부(101)와; 인터럽트 소오스 입력을 마스크 또는 언마스크 시키는 마스크 레지스터(102)와; 인터럽트 소오스 입력의 트리거 모드를 결정하는 트리거 모드 레지스터(103)와; 인터럽트 요청신호의 액티브 모드를 결정하는 트리거 극성 레지스터(104)와; 각 인터럽트 소오스가 선인터럽트 요청기(FIQ)와 인터럽트 요청기(IRQ) 중 어느 것을 구동할 것인지를 결정하는 방향 레지스터(105)와; 할당된 인터럽트 소오스가 액티브 되었는지 상태를 표시하는 선인터럽트 및 인터럽트 요청기 상태레지스터(106, 107)와; 프로세서로 내보내는 인터럽트 요구신호를 마스크 또는 언마스크시키는 선인터럽트및 인터럽트 요청기 마스크 레지스터(108, 109)와; 인터럽트 소오스 입력의 트리거 모드가 에지 트리거 모드일 경우 해당하는 인터럽트 상태 레지스터의 값을 클리어하는 상태 클리어레지스터(110)와; 상기 제어부(101)의 제어에 의해 상기 각 레지스터들과 내부 데이터버스와의 인터페이스를 하는 버스인터페이스(120)로 구성한다.
이와 같이 구성한 본 발명에 따른 일실시예의 동작을 도 3을 참조하여 설명하면 다음과 같다.
도 3은 본 발명 비동기 인터럽트 제어기의 전체 인터럽트 제어 흐름도로서, 이에 도시한 바와 같이 도 2의 각 레지스터는 24비트 레지스터로 각 비트마다 인터럽트 소오스를 일대일로 할당시킴으로써, 모든 인터럽트 소오스에 대한 제어는 서로 다른 소오스에 대해 영향을 미치지 않는다.
먼저 인터럽트 소오스가 발생하면 마스크 제어에 세팅된 값에 따라 마스킹되어 있는 경우, 입력값이 인터럽트 제어기(100)의 내부로 전달되지 않고, 언마스킹 상태이면 상기 인터럽트 제어기(100) 내부로 전달되며, 일단 인터럽트 제어기(100) 내부로 전달된 인터럽트 소오스 입력신호는 트리거 모드제어와 극성제어에 세트시킨 모드로 입력값이 캐시되어 FIQ, IRQ 상태레지스터(106, 107)에 기록되고, 이때 FIQ 상태 레지스터(106)에 기록되느냐 IRQ 상태 레지스터(107)에 기록되느냐는 방향제어에서 결정하며, FIQ, IRQ 상태레지스터(106, 107)에 저장된 값이 '1'인 경우 인터럽트 요구를 발생하는지의 여부는 요구제어에서 하고, 그에 상응하는 비트를 마스크시키느냐 언마스크시키느냐에 따라 결정되는데, 언마스크시킬 경우에는 nFIQ나 nIRQ를 통하여 프로세서로 요구를 띄우게 된다.
인터럽트 소오스의 우선순위를 결정하는 것은 소프트웨어의 기능이며, 입력과 출력에 각각 FIQ, IRQ 마스크 레지스터(108, 109)를 두어 상기 소트트웨어를 이용하여 각각의 레지스터를 세팅하는 조합에 따라 우선순위가 결정된다.
이상에서 설명한 바와 같이 본 발명 비동기 인터럽트 제어기는 모든 인터럽트 소스 입력의 액티브 모드를 레벨 센시티브 모드와 에지 트리거 모드 중에서 선택할 수 있도록 하고, 인터럽트의 종류를 선인터럽트 요청기(FIQ)와 인터럽트 요청기(IRQ) 중에서 선택할 수 있도록 하며, 인터럽트 우선순위를 결정하는 기능을 소프트웨어의 제어하에 FIQ 마스크 레지스터와 IRQ 마스크 레지스터를 이용하게 함으로써, 동작 전력의 소모량을 감소시키는 효과가 있다.

Claims (1)

  1. 비동기 인터럽트 제어기의 전체 동작을 제어하는 제어부와; 인터럽트 소오스 입력을 마스크 또는 언마스크 시키는 마스크 레지스터와; 인터럽트 소오스 입력의 트리거 모드를 결정하는 트리거 모드 레지스터와; 인터럽트 요청신호의 액티브 모드를 결정하는 트리거 극성 레지스터와; 각 인터럽트 소오스가 선인터럽트 요청기와 인터럽트 요청기 중 어느 것을 구동할 것인지를 결정하는 방향 레지스터와; 할당된 인터럽트 소오스가 액티브 상태로 되었는지 상태를 표시하는 선인터럽트 및 인터럽트 요청기 상태레지스터와; 프로세서로 내보내는 인터럽트 요구신호를 마스크 또는 언마스크시키는 선인터럽트 및 인터럽트 요청기 마스크 레지스터와; 인터럽트 소오스 입력의 트리거 모드가 에지 트리거 모드일 경우 해당하는 인터럽트 상태 레지스터의 값을 클리어하는 상태 클리어레지스터와; 상기 제어부의 제어에 의해 상기 각 레지스터들과 내부 데이터버스의 인터페이스를 하는 버스인터페이스로 구성하여 된 것을 특징으로 하는 비동기 인터럽트 제어기.
KR1019970080341A 1997-12-31 1997-12-31 비동기인터럽트제어기 KR100302585B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970080341A KR100302585B1 (ko) 1997-12-31 1997-12-31 비동기인터럽트제어기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970080341A KR100302585B1 (ko) 1997-12-31 1997-12-31 비동기인터럽트제어기

Publications (2)

Publication Number Publication Date
KR19990060120A KR19990060120A (ko) 1999-07-26
KR100302585B1 true KR100302585B1 (ko) 2001-09-22

Family

ID=37529568

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970080341A KR100302585B1 (ko) 1997-12-31 1997-12-31 비동기인터럽트제어기

Country Status (1)

Country Link
KR (1) KR100302585B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473662B2 (en) 2009-12-18 2013-06-25 Electronics And Telecommunications Research Institute Interrupt-handling-mode determining method of embedded operating system kernel

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148544A (en) * 1987-07-01 1992-09-15 Digital Equipment Corporation Apparatus and method for control of asynchronous program interrupt events in a data processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148544A (en) * 1987-07-01 1992-09-15 Digital Equipment Corporation Apparatus and method for control of asynchronous program interrupt events in a data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473662B2 (en) 2009-12-18 2013-06-25 Electronics And Telecommunications Research Institute Interrupt-handling-mode determining method of embedded operating system kernel

Also Published As

Publication number Publication date
KR19990060120A (ko) 1999-07-26

Similar Documents

Publication Publication Date Title
US5732250A (en) Multi-function microprocessor wait state mechanism using external control line
US7171526B2 (en) Memory controller useable in a data processing system
US5295246A (en) Bidirectional FIFO buffer for interfacing between two buses of a multitasking system
EP0203304B1 (en) Data processor controller
US4782439A (en) Direct memory access system for microcontroller
KR100385871B1 (ko) 인터럽트 제어기
US5619706A (en) Method and apparatus for switching between interrupt delivery mechanisms within a multi-processor system
US6263395B1 (en) System and method for serial interrupt scanning
US5392404A (en) Bus control preemption logic
KR920008448B1 (ko) 데이터 프로세서
KR20010051991A (ko) 플렉서블 범용 입/출력 시스템
EP0464848B1 (en) Structure for enabling direct memory-to-memory transfer
JP2002539524A (ja) 周辺デバイス割込みを処理するための装置および方法
US5410721A (en) System and method for incrementing a program counter
JP2002073527A (ja) Dmaコントローラ
JP2008542936A (ja) 特にシステムオンチップに対するインタフェース配置およびその使用方法
EP0991191A2 (en) System and method for reducing power dissipation in a circuit
US5717875A (en) Computing device having semi-dedicated high speed bus
US5933613A (en) Computer system and inter-bus control circuit
KR100302585B1 (ko) 비동기인터럽트제어기
US4878173A (en) Controller burst multiplexor channel interface
US5734844A (en) Bidirectional single-line handshake with both devices driving the line in the same state for hand-off
US5561818A (en) Microprocessor and data processing system for data transfer using a register file
KR100308113B1 (ko) 데이터 처리 시스템
US5708852A (en) Apparatus for serial port with pattern generation using state machine for controlling the removing of start and stop bits from serial bit data stream

Legal Events

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

Payment date: 20050620

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee