KR19990019974A - 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치 및 방법 - Google Patents

보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치 및 방법 Download PDF

Info

Publication number
KR19990019974A
KR19990019974A KR1019970043413A KR19970043413A KR19990019974A KR 19990019974 A KR19990019974 A KR 19990019974A KR 1019970043413 A KR1019970043413 A KR 1019970043413A KR 19970043413 A KR19970043413 A KR 19970043413A KR 19990019974 A KR19990019974 A KR 19990019974A
Authority
KR
South Korea
Prior art keywords
board
interrupt
cpu
port
read
Prior art date
Application number
KR1019970043413A
Other languages
English (en)
Other versions
KR100247032B1 (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 KR1019970043413A priority Critical patent/KR100247032B1/ko
Publication of KR19990019974A publication Critical patent/KR19990019974A/ko
Application granted granted Critical
Publication of KR100247032B1 publication Critical patent/KR100247032B1/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits

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

본 발명에 의한 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치는, 보드의 삽입시 '0'이 되고 보드의 제거시 '1'이 되는 신호선을 입력으로 하는 버퍼 A와; 외부 /읽기-포트가 '0'이 될 때마다 상기 버퍼 A의 출력신호를 CPU의 D0로 연결함으로써, 보드의 장착시 '1'을 탈장시 '0'을 출력하는 버퍼-B; 상기 버퍼 A의 출력을 입력으로 하여 /읽기-포트가 '1'이 되었을 때 해당 입력을 출력하는 D 플립플롭 및 상기 버퍼 A의 출력과 상기 D 플립플롭의 출력을 두 입력으로 하고 출력이 CPU의 INT와 연결되어, 보드의 삽입과 제거시 '1'을 출력하는 XOR 게이트를 포함하여 이루어진 것을 특징으로 한다.
또한 본 발명에 의한 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 방법은, CPU의 초기화시 /읽기-포트를 읽음으로써 보드가 처음에 장착되어 있는지의 여부를 판단하는 제 1 단계와; 상기 제 1 단계에서 보드가 장착되어 있지 않다면 CPU의 INT를 '0'으로 하여 인터럽트를 발생시키지 않는 제 2 단계와; 상기 제 1 단계에서 보드가 장착되어 있다면 CPU의 INT를 '1'로 하여 인터럽트를 발생시키는 제 3 단계와; 인터럽트가 발생되면 CPU의 인터럽트 서비스 루틴에 의하여 /읽기-포트를 읽는 제 4 단계와; CPU가 /읽기-포트를 읽음으로써 보드 삽입에 대한 소프트웨어를 실행하고 동시에 인터럽트의 발생을 중지시키는 제 5 단계; 인터럽트의 발생이 중지된 후 보드가 제거되면 다시 인터럽트를 발생시키는 제 6 단계 및 인터럽트를 받은 CPU가 인터럽트 서비스 루틴에 의하여 /읽기-포트를 읽음으로써 인터럽트의 발생을 중지시키는 제 7 단계를 포함하여 구성되는 것을 특징으로 한다.

Description

보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치 및 방법
본 발명은 보드(Board)의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치(Interrupt Generator)에 관한 것으로서, 특히 상태가 변화할 때 인터럽트를 발생시키는 장치를 이용하여 보드의 핫 삽입(Hot insertion)이 가능해야 되는 장비에서 보드를 삽입하고 제거하는 동작시 인터럽트를 발생시켜 그에 따른 소프트웨어적 처리를 가능하게 하기 위한 장치에 관한 것이다.
통신 시스템은 전체 시스템을 관리 하는 중앙 처리 장치(Central Precessing Unit: CPU)와 여러 개의 보드 및 상기 CPU와 여러 보드를 꽂기 위한 백플레인 보드(Backplane board)로 구성되어 있다.
도 1 은 CPU와 보드 및 백플레인 보드를 포함하는 일반적인 시스템의 구조도를 나타낸 것이다.
도시된 바와 같이, 백플레인 보드(4)에는 CPU 보드(1)와, 커넥터(3)를 사용하여 착탈이 가능한 여러개의 보드(2)들이 꽂혀있다.
종래에는 도시된 보드 1 및 보드 2 등이 삽입되었는지 제거되었는지의 여부를 알아내는 방법으로 보드와 CPU 보드를 풀업(PULL-UP)을 단 신호선으로 연결하여, 해당 신호선을 CPU가 계속 관찰한다.
도 2 는 종래 기술에 의하여 보드의 삽입과 제거를 알아내기 위한 신호선을 포함하는 시스템의 구조도를 나타낸 것이다.
도시된 바와 같이, 보드 1 내의 접지(6)와 연결된 신호선은 CPU 보드내의 저항에 의하여 풀업된다.
그러므로, 보드 1이 없으면 신호선은 풀업되어 CPU 보드내의 읽기 포트(5)에 의하여 '1'로 읽히게 된다.
보드 1이 삽입되면 보드 1에 연결되는 신호선이 접지(6)에 이어져 있어서 CPU 보드의 신호선도‘0'으로 읽히게 된다. 그러므로 보드의 삽입과 제거를 알아보기 위하여는 CPU 보드가 상기 신호선을 주기적으로 계속 읽어보면 된다.
그러나 상기와 같은 방식으로 신호선을 사용하게 되면, CPU가 보드가 있는지를 알기위해 주기적으로 읽기 포트(5)를 읽어봄으로써 CPU가 비효율적으로 동작하게 되고 순간적으로 반응하지 못하므로 보드의 삽입과 제거시에 동작해야하는 S/W 동작이 느리게 된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여, 보드의 삽입과 제거시 같은 상태변화를 감지하는 인터럽트를 발생시키므로 CPU가 주기적으로 보드의 존재여부를 나타내는 포트를 읽는 동작을 없애고, 또 보드의 삽입과 제거를 즉각적으로 나타냄으로 빠른 S/W동작을 취할 수 있게 하기 위한 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치 및 방법을 제공하는 것을 목적으로 한다.
도 1 은 CPU와 보드 및 백플레인 보드를 포함하는 일반적인 시스템의 구조도.
도 2 는 종래 기술에 의하여 보드의 삽입과 제거를 알아내기 위한 신호선을 포함하는 시스템의 구조도.
도 3 은 상태 변화 인터럽트 발생 장치를 포함하는 시스템의 구조도.
도 4 는 본 발명에 의한 상태 변화 인터럽트 발생기의 구성도.
도면의 주요 부분에 대한 부호의 설명
100 : CPU 보드 200 : 보드 1
300 : 커넥터 400 : 백플레인 보드
110 : CPU 120 : 읽기 포트
130 : 풀업 저항 140 : 상태 변화 인터럽트 발생기
210 : 접지
141 : 버퍼 A 142 : 버퍼 B
143 : D 플립플롭 144 : XOR 게이트
따라서 상기와 같은 목적을 달성하기 위하여 창안된 본 발명의 장치는, 보드의 삽입시 '0'이 되고 보드의 제거시 '1'이 되는 신호선을 입력으로 하는 버퍼 A와; 외부 /읽기-포트가 '0'이 될 때마다 상기 버퍼 A의 출력신호를 CPU의 D0로 입력함으로써, 보드의 장착시 '1'을 탈장시 '0'을 출력하는 버퍼-B; 상기 버퍼 A의 출력을 입력으로 하여 /읽기-포트가 '1'이 되었을 때 해당 입력을 출력하는 D 플립플롭 및 상기 버퍼 A의 출력과 상기 D 플립플롭의 출력을 두 입력으로 하고 출력이 CPU의 INT와 연결되어, 보드의 삽입과 제거시 '1'을 출력하는 XOR 게이트를 포함하여 이루어진 것을 특징으로 한다.
또한 본 발명의 방법은, CPU의 초기화시 /읽기-포트를 읽음으로써 보드가 처음에 장착되어 있는지의 여부를 판단하는 제 1 단계와; 상기 제 1 단계에서 보드가 장착되어 있지 않다면 CPU의 INT를 '0'으로 하여 인터럽트를 발생시키지 않는 제 2 단계와; 상기 제 1 단계에서 보드가 장착되어 있다면 CPU의 INT를 '1'로 하여 인터럽트를 발생시키는 제 3 단계와; 인터럽트가 발생되면 CPU의 인터럽트 서비스 루틴에 의하여 /읽기-포트를 읽는 제 4 단계와; CPU가 /읽기-포트를 읽음으로써 보드 삽입에 대한 소프트웨어를 실행하고 동시에 인터럽트의 발생을 중지시키는 제 5 단계; 인터럽트의 발생이 중지된 후 보드가 제거되면 다시 인터럽트를 발생시키는 제 6 단계 및 인터럽트를 받은 CPU가 인터럽트 서비스 루틴에 의하여 /읽기-포트를 읽음으로써 인터럽트의 발생을 중지시키는 제 7 단계를 포함하여 구성되는 것을 특징으로 한다.
본 발명은 상기 도 2 에서 나타낸 바와 같은 단순한 읽기-포트를 상태 변화 인터럽트 발생 장치로 바꾸어 사용함으로써, 종래의 폴링방식으로 보드의 삽입과 제거를 알아내던 방식에서 보드가 삽입되거나 제거되는 순간에만 인터럽트를 발생시키는 방식을 사용할 수 있도록 한다.
도 3 은 상태 변화 인터럽트 발생 장치를 포함하는 시스템의 구조도를 나타낸 것이다.
도시된 바와 같이, 보드 1 의 접지와 연결되어 있으며 저항에 의하여 풀업되는 신호선은 상태 변화 인터럽트 발생기(7)에 의하여 CPU로 연결된다.
상기 상태 변화 인터럽트 발생기(7)는 /읽기-포트를 사용하여 보드의 삽입과 제거 유무를 인식하여 CPU로 해당 상태에 대한 인터럽트를 발생시킨다.
도 4 는 본 발명에 의한 상태 변화 인터럽트 발생기의 구성도를 나타낸 것이다.
도시된 바와 같이, 풀업되어 보드의 삽입시 '0'이 되고 보드의 제거시 '1'이 되는 신호선을 입력으로 하는 버퍼 A(141)와; 외부 /읽기-포트가 '0'이 될 때마다 상기 버퍼 A의 출력신호를 CPU의 D0로 입력함으로써, 보드의 장착시 '1'을 탈장시 '0'을 출력하는 버퍼-B(142); 상기 버퍼 A의 출력을 입력으로 하여 /읽기-포트가 '1'이 되었을 때 해당 입력을 출력하는 D 플립플롭(143) 및 상기 버퍼 A의 출력과 상기 D 플립플롭의 출력을 두 입력으로 하고 출력이 CPU의 INT와 연결되어, 보드의 삽입과 제거시 '1'을 출력하는 XOR 게이트(144)를 포함하여 이루어져 있다.
이하 도면을 참조하여 본 발명에 의한 상태 변화 인터럽트 발생 장치의 동작에 대하여 상세히 설명하면 다음과 같다.
1. 처음에 CPU가 초기화할때, /읽기-포트를 한번 읽음으로써 CPU의 데이터 버스중의 하나인 DO를 통해서 보드가 처음에 장착 되어 있는지의 여부를 알 수 있다.
이때 보드가 장착되어 있지 않다면 XOR 게이트(144)로 입력되는 SIG-A는 ‘1' 이고, /읽기-포트는 항상 '1'이므로 SIG-A가 D 플립플롭에 래치(latch)되어서 SIG-B도 ‘1' 이 된다.
2. 그러면 XOR 게이트(144)의 출력인 INT는 ‘0'이 되고 인터럽트가 발생하지 않는 상태가 된다.
3. 이후 CPU의 인터럽트을 이네이블시킨다.
4. 보드가 삽입되면 버퍼 A(141)의 출력인 SIG-A는‘0'이 된다. 그러면 INT는 1'이 되어 인터럽트가 발생한다. 그러면 CPU는 인터럽트 서비스 루틴에서 /읽기-포트를 읽어서 DO가 ‘0'이면 보드가 삽입 되었을 때에 대한 프로그램을 실행한다.
5. /읽기-포트를 읽음과 동시에 SIG-B는‘0'이 되고 INT는 0'이 되어서 인터럽트가 발생되지 않는 상태가 된다.
6. 다시 보드가 제거되면 SIG-A는 1'이 되고 INT가 1'이 되어 인터럽트가 발생하게 된다.
7. 인터럽트를 받은 CPU가 /읽기-포트를 읽으면 SIG-B는‘1'이 되어서 인터럽트가 발생되지 않는 상태가 된다.
상기와 같이 동작되는 본 발명을 이용함으로써 다음과 같은 효과를 얻을 수 있다.
1. 보드의 삽입과 제거같이 상태가 변화하는 순간에 인터럽트를 만들어 내서 상태변화를 감지 할 수 있다.
2. 폴링과 같은 CPU가 계속 관여하는 방식을 막으므로 CPU 의 효율이 높게 된다.
3. 액티브 하이(ACTIVE HIGH), 액티브 로우(ACTIVE LOW)와 같이 한방향의 상태 변화만을 인지하는 인터럽트 방식을 이용해서는 해결되지 않는 인터럽트 형태를 처리할 수 있다.

Claims (2)

  1. 보드의 삽입시 '0'이 되고 보드의 제거시 '1'이 되는 신호선을 입력으로 하는 버퍼 A와;
    외부 /읽기-포트가 '0'이 될 때마다 상기 버퍼 A의 출력신호를 CPU의 D0로 입력함으로써, 보드의 장착시 '1'을 탈장시 '0'을 출력하는 버퍼-B;
    상기 버퍼 A의 출력을 입력으로 하여 /읽기-포트가 '1'이 되었을 때 해당 입력을 출력하는 D 플립플롭 및
    상기 버퍼 A의 출력과 상기 D 플립플롭의 출력을 두 입력으로 하고 출력이 CPU의 INT와 연결되어, 보드의 삽입과 제거시 '1'을 출력하는 XOR 게이트를 포함하여 이루어진 것을 특징으로 하는, 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치.
  2. CPU의 초기화시 /읽기-포트를 읽음으로써 보드가 처음에 장착되어 있는지의 여부를 판단하는 제 1 단계와;
    상기 제 1 단계에서 보드가 장착되어 있지 않다면 CPU의 INT를 '0'으로 하여 인터럽트를 발생시키지 않는 제 2 단계와;
    상기 제 1 단계에서 보드가 장착되어 있다면 CPU의 INT를 '1'로 하여 인터럽트를 발생시키는 제 3 단계와;
    인터럽트가 발생되면 CPU의 인터럽트 서비스 루틴에 의하여 /읽기-포트를 읽는 제 4 단계와;
    CPU가 /읽기-포트를 읽음으로써 보드 삽입에 대한 소프트웨어를 실행하고 동시에 인터럽트의 발생을 중지시키는 제 5 단계;
    인터럽트의 발생이 중지된 후 보드가 제거되면 다시 인터럽트를 발생시키는 제 6 단계 및
    인터럽트를 받은 CPU가 인터럽트 서비스 루틴에 의하여 /읽기-포트를 읽음으로써 인터럽트의 발생을 중지시키는 제 7 단계를 포함하여 구성되는 것을 특징으로 하는, 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 방법.
KR1019970043413A 1997-08-30 1997-08-30 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치및 방법 KR100247032B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970043413A KR100247032B1 (ko) 1997-08-30 1997-08-30 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970043413A KR100247032B1 (ko) 1997-08-30 1997-08-30 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치및 방법

Publications (2)

Publication Number Publication Date
KR19990019974A true KR19990019974A (ko) 1999-03-25
KR100247032B1 KR100247032B1 (ko) 2000-03-15

Family

ID=19519699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970043413A KR100247032B1 (ko) 1997-08-30 1997-08-30 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치및 방법

Country Status (1)

Country Link
KR (1) KR100247032B1 (ko)

Also Published As

Publication number Publication date
KR100247032B1 (ko) 2000-03-15

Similar Documents

Publication Publication Date Title
EP1472608B1 (en) Hot plug interface control method and apparatus
WO2016202040A1 (zh) 一种基于pcie子卡热插拔的方法及装置
US6138194A (en) Apparatus for sensing movement of a bus card and automatically removing power from the bus card
KR970076286A (ko) 시스템 버스를 포함하는 컴퓨터 시스템 및 시스템 버스에 의한 장치 연결 방법
MY128290A (en) Method for recovering from a machine check interrupt during runtime
JPH1139769A (ja) 情報処理装置及び省電力装置
CN110647486A (zh) 一种PCIe链路训练方法、端设备及通讯系统
CN110968352A (zh) 一种pcie设备的复位系统及服务器系统
US7065597B2 (en) Method and apparatus for in-band signaling of runtime general purpose events
JPH02224140A (ja) 割込試験装置
KR100247032B1 (ko) 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치및 방법
US8108586B2 (en) Multi-core data processor
US6185645B1 (en) Method for removing power and signals from an inadvertently swapped bus card
US5261083A (en) Floppy disk controller interface for suppressing false verify cycle errors
JP2002050435A (ja) 活線挿抜検出回路および活線挿抜方法
KR950009457A (ko) 에스씨에스아이 호스트 버스 어댑터용 자동 종료회로
CN114357536A (zh) 一种基于国产飞腾平台板卡bios防护系统
CN201583939U (zh) 串行外设接口除错卡装置
CN210006000U (zh) 一种嵌入式系统硬件复位电路
CN115766550B (zh) 基于vpx机箱认证、注钥与毁钥通道的检测装置及方法
JP3371760B2 (ja) Pcカード用コネクタ、pcカード及びpcカード処理装置
KR920004362B1 (ko) Ic카드 착탈감지신호의 발생회로
JP2998439B2 (ja) 回線制御装置
TW424177B (en) Debugging pad for directing internal signals of a chip to the pins of an IC
JP2697660B2 (ja) 活線挿抜時のシステム動作保証回路

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

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee