KR970002400B1 - 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester) - Google Patents

다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester) Download PDF

Info

Publication number
KR970002400B1
KR970002400B1 KR1019940012744A KR19940012744A KR970002400B1 KR 970002400 B1 KR970002400 B1 KR 970002400B1 KR 1019940012744 A KR1019940012744 A KR 1019940012744A KR 19940012744 A KR19940012744 A KR 19940012744A KR 970002400 B1 KR970002400 B1 KR 970002400B1
Authority
KR
South Korea
Prior art keywords
interrupt
csr
multiprocessor
state
rising edge
Prior art date
Application number
KR1019940012744A
Other languages
English (en)
Other versions
KR960001995A (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 KR1019940012744A priority Critical patent/KR970002400B1/ko
Publication of KR960001995A publication Critical patent/KR960001995A/ko
Application granted granted Critical
Publication of KR970002400B1 publication Critical patent/KR970002400B1/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

Abstract

내용없음.

Description

다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control sheme of interrupt go and done in a multiprocessor interrupt requester)
제1도는 다중프로세서 인터럽트 요청기의 연결도.
제2도는 다중프로세서 인터럽트 요청기의 내부레지스터 구성도.
제3도는 다중프로세서 인터럽트 요청기의 내부상태 천이의 개략도.
제4도는 본 발명에 따른 흐름도.
* 도면의 주요부분에 대한 부호의 설명
1 : 프로세서 2 : 프로세서 인터페이스 회로
3 : 다중프로세서 인터럽트 요청기 4 : 인터럽트 버스 인터페이스
5 : 인터럽트 버스 6 : TMR
7 : CSR
본 발명은 다중프로세서 인터럽트 요청기에서 안정적인 프로세서간 인터럽트의 전송요구를 받고 이의 송신 및 완료를 제어하는 방법에 관한 것이다.
본 발명에서의 다중프로세서 인터럽트 요청기는 다중프로세서 컴퓨터 시스템에서 프로세서간 인터럽트를 전송하는 기능을 수행한다.
본 발명의 근간이 되는 프로세서간 인터럽트의 전송규칙(protocol) 및 다중프로세서 인터럽트 요청기의 하드웨어 구성은 종래의 다중프로세서 컴퓨터 시스템과는 상이한 새로운 것이다.
본 발명은 이러한 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법을 제공하는데 목적이 있다.
상기 목적을 달성하기 위하여 본 발명에서는 첨부된 도면에 의거하여 그 상세한 설명을 한다.
제1도에 나타낸 바와 같이 다중프로세서 인터럽트 요청기(3)는 프로세서 인터페이스 회로(2) 및 인터럽트 버스 인터페이스(4)에 연결된다.
프로세서 인터페이스 회로(2)는 프로세서(1)와 다중프로세서 인터럽트 요청기(3) 사이의 인터페이스를 제공한다.
인터럽트 버스 인터페이스(4)는 인터럽트 버스(5)와 다중프로세서 인터럽트 요청기(3) 사이의 인터페이스를 제공하며, 다중프로세서 인터럽트 요청기(3)로부터 받은 중재정보를 이용하여 상기 인터럽트 버스(5)의 사용권을 중재하는 기능도 수행한다.
상기 제1도는 하나의 처리장치내에서의 단위모듈간 연결을 나타낸 것으로서, 다중프로세서 컴퓨터 시스템에는 여러개의 처리장치가 존재한다.
또한, 각 처리장치에는 프로세서간 인터럽트를 수신하고 처리하는 회로가 별도로 포함되어 있다.
상기 다중프로세서 인터럽트 요청기(3)에는 두개의 레지스터가 있다.
이 두개의 레지스터는 모두 32비트로 구성되어 있으며 프로그램에 의해서 접근이 가능한 레지스터이다.
전송 메세지 레지스터인 TMR(6)은 읽기와 쓰기가 가능하다. 제어 및 상태레지스터인 CSR(7)에서는 오류비트(error bits)(10)와 전송오류(transfer error)(11)부분은 읽기만 가능하고, 최대 재시도 계수치(maximum retry count)(8), 현재 재시도 계수치(current retry count)(9), 유사한 재시도 인에이블(finite retry enable)(13), 전송실패 인터럽트 인에이블(transfer failure interrupt enable)(14) 및 인터럽트 송신/완료(interrupt go/done)(15) 부분은 읽기와 쓰기가 가능하다.
상기 TMR(6)에는 전송하고자 하는 메세지가 저장되며, 전송 메세지에는 수신처, 송신처, 인터럽트의 종류, 벡터의 형태, 벡터등이 포함되어 있다.
CSR(7)은 최대 재시도 계수치(8), 현재 재시도 계수치(9), 오류비트(10), 전송오류(11), 유한 재시도 인에이블(13), 전송실패 인터럽트 인에이블(14) 및 인터럽트 송신/완료(15)비트 등이 저장되며, 비트 6에서 비트 3까지([6:3])(12)는 정의하지 않는다.
최대 재시도 계수치(8)는 전송오류가 발생할 경우에 재시도하는 최대회수를 나타내며, 프로그램에 의해서 최대 재시도 회수가 쓰여진다.
현재 재시도 계수치(9)는 프로세서(1)로부터 전송요구를 받은 메세지에 대하여 전송오류에 의한 재시도를 수행한 회수를 나타내며, 최대 재시도 계수치에서부터 시작하여 재시도를 할 때마다 내림순으로 계수한다.
현재 재시도 계수치(9)의 값이 0이면 정해진 최대 재시도 회수만큼의 재시도를 하였음을 나타낸다.
각각의 오류비트(10)는 전송중 발생한 오류를 나타내며, 전송오류(11)는 하나 이상의 오류비트(10)가 세트(set)되면 동시에 세트된다.
유한 재시도 인에이블(13)비트의 값이 0이면 최대 재시도 계수치(8)의 값에 상관없이 전송이 성공할 때까지 무한히 재시도를 수행하고, 유한 재시도 인에이블(13)비트의 값이 1이면 전송이 성공할 때까지 최대 재시도 계수치(8)만큼의 재시도를 수행한다.
전송실패 인터럽트 인에이블(14)비트의 값이 1이면 전송실패시 전송실패를 나타내는 인터럽트를 프로세서 인터페이스 회로(2)를 통하여 프로세서(1)에서 구동하고, 0이면 구동하지 않는다.
인터럽트 송신/완료(15)비트의 값이 1이면, 프로세서(1)로부터 프로세서간 인터럽트의 전송이 요구되어 현재 전송을 시도하고 있음을 나타낸다.
상기 인터럽트 송신/완료(15)비트의 값이 0이면 프로세서간 인터럽트의 전송이 완료되었음을 나타내며, 성공적으로 완료될 수도 있고 또는 전송오류가 실패로 완료될 수도 있다.
제3도는 다중프로세서 인터럽트 요청기(3) 내부의 상태천이(state transition)를 개략적으로 나타내고 있다.
제3도에서 원은 각각의 상태(state)를 나타내고, 원안의 표기는 상태명(state name)을 나타낸다.
상태간을 연결하는 화살표는 상태천이의 방향을 나타내며, 화살표 상의 글자표기는 상태천이의 조건을 나타낸다.
화살표에 아무런 표기가 없으면 무조건 다음 클럭에서 화살표 방향으로 천이됨을 나타낸다.
상태천이는 클럭의 상승에지(rising edge)에서 일어난다. 초기상태는 IDLE 상태(16)이다.
프로그램에 의하여 인터럽트 송신/완료비트[CSR[0])(15)에 1이 쓰여지고 인터럽트 버스(5)가 유휴상태이면(interrupt go and interrupt bus idle) 중재 상태로 천이한다.
반대로 인터럽트 송신/완료비트(15)가 0이거나 인터럽트 버스가 사용중이면(interrupt done or interrupt bus busy) IDLE 상태 (16)를 유지한다.
인터럽트 버스의 사용권을 얻은 중재는 ARB1 상태(17), ARB2 상태(18), ARB3 상태(19), ARB4 상태(20) 및 ARB5 상태(21)의 다섯 단계를 거쳐 수행한다.
실제적인 중재동작은 다중프로세서 인터럽트 요청기(3)로부터 중재정보를 받아서 인터럽트 버스 인터페이스(4)에서 수행한다.
중재동작이 완료되면 인터럽트 버스 인터페이스(4)는 중재의 성공/실패 여부를 다중프로세서 인터럽트 요청기(3)에서 알려준다.
이 인터럽트 버스의 중재가 성공하여 인터럽트 버스의 사용권을 얻으며 TMR(6)에 저장되어 있는 전송메세지를 인터럽트 버스 인터페이스(4)와 인터럽트 버스(5)를 통하여 전송한다.
중재가 실패하면(arbitration fail) ARB5 상태(21)에서 IDLE 상태(16)로 천이하고, 성공하면(arbitration win) SEND 상태(22)로 천이한다.
SEND 상태(22)에서는 TMR(6)에 저정되어 있는 전송 메세제를 인터럽트 버스 인터페이스(4)와 인터럽트 버스(5)를 통하여 송신하는 동작을 수행한다.
메세지 송신이 진행중이면(in sending message) 메세지 송신을 마칠 때까지 이 상태에 무물게 된다.
상기 일련의 메세지 송신이 끝나면 (message sended) DUMMY 상태(23)로 천이한다.
DUMMY 상태(23)는 프로세서간 인터럽트를 수신하는 측에서 수신한 정보를 디코딩(decoding)하는 단계로서, 다중프로세서 인터럽트 요청기(3)에서는 아무런 동작도 하지 않는다.
ACK 상태(24)는 이미 전송된 프로세서간 인터럽트를 수신하는 측에서 회신으로 보낸 응답정보를 받는다.
CHECK(체크) 상태(25)에서는 ACK 상태(24)에서 받은 응답정보를 검사하고, CSR(7)의 오류비트(10), 전송오류비트(11), 인터럽트 송신/완료비트(15)에 그 결과를 기록한다.
검사결과 전송오류가 발생하고 무한 재시도이거나 재시도 회수가 만료되지 않았으면(error and(infinite retry or no retry out) RETRY 상태(26)로 천이하고, 전송오류가 없거나 유한 재시도이고 재시도 회수가 만료되었으면(no error or(finite retry and retry out) IDLE 상태(16)로 천이한다.
RETRY(재시도) 상태(26)는 재시도를 준비하는 단계로서 유한 재시도 인에이블(13)이 1이면 CHECK 상태(25)에서 천이됨과 동시에 현재 재시도 계수치를 1만큼 감소시킨다.
인터럽트 버스가 유휴상태이면(interrupt bus idle) ARB1 상태(17)로 천이하고, 사용중이면(interrupt bus busy) RETRY 상태(26)를 유지한다.
제4도는 본 발명에 따른 흐름도에 나타낸 것으로서, 다중프로세서 인터럽트 요청기(3)에서 프로세서간 인터럽트의 송신 및 전송완료를 제어하는 방법을 나타낸 흐름도이다.
다중프로세서 인터럽트 요청기(3)의 입력클럭이 상승에지(rising edge) 인가를 판단하여 (단계 27), 상승에지 상태가 아니면 상승에지 상태가 될 때까지 반복하여 수행한다.
그러나, 상기 입력클럭이 상승에지 상태라면 상승에지 상태에서 제어 및 상태 레지스터(CSR)(7)의 최하위 바이트(least significant byte)에 쓰기 요구가 있는지를 검사한다(단계 28).
레지스터 읽기와 쓰기는 프로세서(1)로부터 프로세서 인터페이스 회로(2)를 경유하여 요구되는데, 어드레스 스트로우브(address strobe) 신호와 어드레스 신호, 바이트 인에이블(byte enable) 신호, 읽기/쓰기 선택신호, 데이터 버스(data bus) 및 응답신호를 이용하여 프로세서 인터페이스 회로(2)와 다중프로세서 인터럽트 요청기(3) 사이의 읽기와 쓰기가 수행된다.
상기 CSR(7)의 최하위 바이트 쓰기요구는 어드레스 스트로우브가 1이고 어드레스가 CSR를 가리키는 00001이고 바이트 인에이블이 xxx1이고 (x는 0이나 1일 수 있음을 나타냄) 읽기/쓰기 선택신호가 쓰기를 나타내는 1이고 데이터 버스에 쓰고자 하는 데이타가 실려있는 경우이다.
프로세서 인터페이스 회로(2)에서 다중프로세서 인터럽트 요청기(3)로 구동하는 어드레스선의 폭은 5이며, TMR(6)의 어드레스는 00000이고 CSR(7)의 어드레스는 00001이다.
또한, 바이트 인에이블 신호선의 폭은 4인데 4개의 각 바이트에 1 대 1로 대응되고, 데이터 버스의 폭은 내부레지스터의 길이와 같은 크기의 32이다.
제4도에서 DATA[0](29)는 데이터버스의 최하위 비트를 나타내는데. 이 값은 1일 수도 0일 수도 있다.
CSR 쓰기에서 이 값이 1이면 인터럽트의 송신을 요구함을 의미한다.
레지스터 읽기나 쓰기 수행후 다중프로세서 인터럽트 요청기(3)는 프로세서 인터페이스 회로(2)에서 응답신호를 구동하여 요구가 완료되었음을 알려준다.
입력클럭의 매 상승에지에서 (단계 27)제어 및 상태 레지스터 CSR(7)의 최하위 바이트(least significant byte)에 쓰기요구가 있으면(단계 28), 프로세서 인터페이스 회로(2)와 다중프로세서 인터럽트 요청기(3) 사이의 데이터 버스의 최하위비트(DATA[0])를 인터럽트 송신/완료비트인 CSR[0]비트(15)에 기록한다(단계 29).
그렇지 않은 경우에 CHECK 상태이고 전송오류를 나타내는 CSR[7](11)이 0이거나 또는 유한 재시도 인에이블을 나타내는 CSR[2](13)이 1이고 현재 재시도 계수치인 CSR[23:16](9)의 값이 0인가를 판단하여(단계 30), 이 판단의 조건에 만족하지 않는다면 상기 단계 27로 복귀한다.
상기 판단(단계 30)의 조건에 만족한다면 인터럽트 송신/완료비트인 CSR[0](15)을 전송 완료를 나타내는 0으로 기록한다(단계 31).
제4도에서 프로레서 인터페이스 회로와 다중프로세서 인터럽트 요청기 사이의 데이터버스의 최하위 비트를 인터럽트 송신/완료비트에 기록하는 조건(단계 28)은 제어 및 상태 레지스터의 최하위 바이트에 쓰기 요구가 있는 경우이다.
또한, 프로세서간 인터럽트의 전송완료를 인지하여 인터럽트 송신/완료비트를 0으로 기록하는 조건(단계 30)은 CHECK 상태이고 전송오류가 발생하지 않았거나 또는 유한 재시도 조건에서 재시도 회수가 만료되었을 경우이다.

Claims (1)

  1. 다중프로세서 인터럽트 요청기(3)로 들어오는 입력클럭이 상승에지인가를 판단하여(단계 27) 상승에지 상태가 아니면 상승에지가 될 때까지 반복하는 단계와, 상기 판단(단계 27)에 의해서 상기 입력클럭이 상승에지 상태이면 프로세서간 인터럽트의 전송요구에 대하여 이 전송요구의 송신 및 완료를 제어하기 위해서 제어 및 상태 레지스터인 CSR(7)의 최하위 비트에 쓰기 요구가 있는가를 판단하여(단계 28), 쓰기 요구가 있으면 프로세서 인터페이스 회로(2)와 다중프로세서 인터럽트 요청기(3) 사이의 데이터 버스의 최하위 비트(DATA[0])를 인터럽트 송신/완료비트인 CSR[0](15)에 기록하고(단계 29) 상기 단계 27로 복귀하는 단계와, 상기 판단(단계 28)에 의해서 쓰기요구가 없으면 CHECK 상태이고 전송오류를 나타내는 CSR(11)이 0이거나 또는 유한 재시도 인에이블을 나타내는 CSR(13)가 1이고 현재 재시도 계수치인 CSR(9)의 값이 0인가를 판단하여(단계 30), 이 판단의 조건을 만족하지 않는다면 상기 단계 27로 복귀하는 단계와, 상기 판단(단계 30)의 조건에 만족한다면 인터럽트 송신/완료비트인 CSR(15)을 전송 완료를 나타내는 0으로 기록하고(단계 31) 상기 단계 27로 복귀하는 단계를 포함하는 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법.
KR1019940012744A 1994-06-07 1994-06-07 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester) KR970002400B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940012744A KR970002400B1 (ko) 1994-06-07 1994-06-07 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940012744A KR970002400B1 (ko) 1994-06-07 1994-06-07 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester)

Publications (2)

Publication Number Publication Date
KR960001995A KR960001995A (ko) 1996-01-26
KR970002400B1 true KR970002400B1 (ko) 1997-03-05

Family

ID=19384795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940012744A KR970002400B1 (ko) 1994-06-07 1994-06-07 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester)

Country Status (1)

Country Link
KR (1) KR970002400B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102133130B1 (ko) * 2019-08-12 2020-07-10 신영환 듀얼 블레이드 송풍장치

Also Published As

Publication number Publication date
KR960001995A (ko) 1996-01-26

Similar Documents

Publication Publication Date Title
US6202097B1 (en) Methods for performing diagnostic functions in a multiprocessor data processing system having a serial diagnostic bus
JP3204961B2 (ja) I/oバス対システムバス・インタフェース
KR100245818B1 (ko) 트랜잭션 및 수신지 id를 가진 공유 버스 시스템
US5001624A (en) Processor controlled DMA controller for transferring instruction and data from memory to coprocessor
EP0194462B1 (en) System bus means for inter-processor communication
US5919254A (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system
EP0676696B1 (en) Parallel port circuits in computer systems
US5038275A (en) Status transfer structure within a data processing system with status read indication
US6055598A (en) Arrangement and method for allowing sequence-independent command responses across a computer bus bridge
EP0427023A2 (en) Data transmission control apparatus for parallel processing system
US7143206B2 (en) Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor
JPH04502825A (ja) 多重化された指令/id及びデータを有するシステムバス
US6189117B1 (en) Error handling between a processor and a system managed by the processor
EP0530846A2 (en) Bus coupling interface
KR970002400B1 (ko) 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester)
JP2988443B2 (ja) データ転送方式
KR960015586B1 (ko) 다중프로세서 인터럽트 요청기에서의 전송 실패 인터럽트의 구동방법
EP0278263B1 (en) Multiple bus DMA controller
JP3630523B2 (ja) バス転送処理システム
KR960012355B1 (ko) 다중프로세서 시스템에서의 캐쉬간 직접 데이타 전송 지원 제어장치
JPH0644193A (ja) I/oレジスタアクセス方式
KR970002399B1 (ko) 안정적인 버스 중재정보 구동을 위한 상태 할당방법(State assignment for stable drive of bus arbirtation information)
JPS6049465A (ja) マイクロコンピユ−タ間のデ−タ転送方法
EP0363087A2 (en) Status transfer within a data processing system
KR970012191A (ko) 멀티프로세서 시스템에 있어서의 버스 프로토콜 제어기와 데이타 전송방법

Legal Events

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

Payment date: 20080303

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee