KR19990019974A - 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치 및 방법 - Google Patents
보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 장치 및 방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators 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/037—Bistable 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)
- 보드의 삽입시 '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 단계를 포함하여 구성되는 것을 특징으로 하는, 보드의 삽입과 제거를 알아내는 상태 변화 인터럽트 발생 방법.
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) |
-
1997
- 1997-08-30 KR KR1019970043413A patent/KR100247032B1/ko not_active IP Right Cessation
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 |